基本コマンド等
role “hoge” does not exist
pgsql2mysql
PostgreSQL -> MySQLに伴って

テーブルの、それぞれのカラムのデータ型を知りたい。

〜大事なこと〜

\d table_name;

〜おまけ:その他の操作〜
Macで、postgreSQLサーバーが起動しているか確認する方法

$ brew services list

postgreSQLでデータベース一覧を出す方法

$ psql -l
または、入った後で
# \l

postgreSQLでデータベース名を指定して始める方法

$ psql db_name

postgreSQLでテーブル一覧をただ出す方法

# \d

なが〜いとき、途中でおわるとき

: <- これが出ている状態で、
: q
qとだけ入れる

終了

#\q

role “hoge” does not exist

〜大事なこと〜

-Uオプションでroleを指定。

PostgreSQL -> csv -> MySQL〜pgsql2mysql変換〜

〜大事なこと〜

copy asobikatas to ‘/users/kazuki/asobikatan/asobikatas.csv’ with csv delimiter E’\t’ force quote * null as ” header;
アップロード時、区切りを”\t”に設定、第1行を題名として設定。

〜やりたかったこと〜

本番サーバーではpostgreSQLが動いているが、臨時で手配したサーバーがMySQLにしか対応していない。postgreSQLをMySQLに変換したい。

〜やったこと〜

postgreSQLをMySQLに変換するコマンドやツールを試したが、どれもうまくいかず。最終的に、一度postgreSQLからcsvに出力して、MySQLでcsvをインポートした。
まずpgsqlを開始。
$psql db_name
タブ区切りの””でcsvに出力。
copy asobikatas to ‘/path/to/project/asobikatas.csv’ with csv delimiter E’\t’ force quote * null as ” header;
区切りは\tであること、1行目は見出しであることを読取り時の設定として、MySQLでcsvからインポート。
1テーブルずつ手動でエクスポート&インポート、テーブル名を変更して作業終了。

PostgreSQL -> MySQLに伴って、変更が必要だった部分

〜大事なこと〜

current_date -> now()
interval ’30 days’ -> interval 30 day

お気に召しましたか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です