結論
例えば、my_hobbies
のようなカラムがあり、配列型で定義されているとします*1。そのようなカラムを含んだテーブルを特に何もせずに embulk-output-postgresql
で PostgreSQL に書き込むと、以下のようなエラーが出て怒られます。
org.embulk.exec.PartialExecutionException: java.lang.UnsupportedOperationException: Unsupported type _VARCHAR (sqlType=2003, size=2147483647, scale=0)
このとき、当該カラムを {value_type: 'string'}
と明示的に指定することで正常に書き込めます。Yaml の例は以下のとおりです。
out: type: postgresql (中略) column_options: my_hobbies: {value_type: 'string'}
補足
インポート時にエラーが出た場合、一時テーブルが残ってしまうことがあるので適宜削除しましょう。
*1:例えば Rails なら t.string "my_hobbies", array: true と定義されるでしょう