Repository: shuttle-hq/synth (language: rust)

Issue:
Error: We haven't implemented a converter for citext
**Describe the bug**
I am attempting to generate data from a postgres database that uses citext and recieve the following error

Error: We haven't implemented a converter for citext

I'm hoping implementing should be pretty straight forward as citext could probably just be treated as a string

**To Reproduce**
synth import ztoDeoAuWw --from postgres://adm:mypass@db:5432/ztoDeoAuWw

Steps to reproduce the behavior:

1. See error
```
Error: We haven't implemented a converter for citext
```

**Expected behavior**
Citext columns would be treated as any other varchar column

**Environment (please complete the following information):**
 - OS: [e.g. Linux, MacOS, Windows] Linux
 - Version: [e.g. 4.2] 0.5.3





Discussion / hints:
hey @groogiam, I tried your changes in #71, and generating `citext` seemed to work for me. Do you have the snippet of your collections .json or any errors you're encountering?
The collections json generated but I was not able to generate any data. All the generates commands resulted in errors or the tool crashing. Sorry but I don't have the container I used to test on available any more.

Fix patch:
diff --git a/synth/src/datasource/postgres_datasource.rs b/synth/src/datasource/postgres_datasource.rs
index 16d849e9..3fe11a7e 100644
--- a/synth/src/datasource/postgres_datasource.rs
+++ b/synth/src/datasource/postgres_datasource.rs
@@ -172,7 +172,7 @@ impl RelationalDataSource for PostgresDataSource {
             "oid" => {
                 bail!("OID data type not supported")
             }
-            "char" | "varchar" | "text" | "bpchar" | "name" | "unknown" => {
+            "char" | "varchar" | "text" | "citext" | "bpchar" | "name" | "unknown" => {
                 let pattern =
                     "[a-zA-Z0-9]{0, {}}".replace("{}", &format!("{}", char_max_len.unwrap_or(1)));
                 Content::String(StringContent::Pattern(
@@ -305,7 +305,7 @@ fn try_match_value(row: &PgRow, column: &PgColumn) -> Result<Value> {
         "oid" => {
             bail!("OID data type not supported for Postgresql")
         }
-        "char" | "varchar" | "text" | "bpchar" | "name" | "unknown" => {
+        "char" | "varchar" | "text" | "citext" | "bpchar" | "name" | "unknown" => {
             Value::String(row.try_get::<String, &str>(column.name())?)
         }
         "int2" => Value::Number(row.try_get::<i16, &str>(column.name())?.into()),


Test patch: