基本コマンド等
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