心にうつりゆくよしなしごとをそこはかとなく書きつくって自分を集めた事典
PostgreSQL小技集〜矢敗と教訓、罪と罰〜

PostgreSQL小技集〜矢敗と教訓、罪と罰〜

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

コメントを残す

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