IT系バンドマンの日常

備忘録やライフログなど

PostgreSQLのコマンド集(自分用)

テーブルが存在したときにだけ削除(存在しないときは何もしない)

DROP TABLE IF EXISTS your_table_name;

カラムの削除

alter table テーブル名 drop column カラム名;

カラムの追加

alter table テーブル名 add column カラム名;

特定のカラムの後に追加したいとき

alter table テーブル名 add column カラム名 after 前のカラム名;

foobarという名前のview定義が知りたい

SELECT definition FROM pg_views WHERE viewname = 'foobar';

全ビューを調べたい

SELECT viewname, definition FROM pg_views ;

ログイン

psql -U USERNAME -d DATABASE

version関数でPostgresqlのバージョン確認

SELECT version();

テーブルの一覧表示

\d

ログアウト

\q

databaseを指定して論理バックアップ

pg_dump -U USERNAME DBNAME > dumpfile.sql

スキーマ確認

\dn

データベース一覧

\l

.sqlファイルを流し込む

\i dump.sql

UPDATE

UPDATE TABLE_NAME
SET id = 0, name = 'hogehoge'
WHERE id = 1;

※標準SQLの仕様上、文字列を扱う場合はシングルクオーテーションを使用する

INSERT

INSERT INTO TABLE_NAME VALUES
  (1, 'wow'),
  (2, 'FOO!'),
  (3, 'Awesome!');

データベースクラスタのセットアップ

initdb -D /usr/local/pgsql/data

参考サイト

https://www.postgresql.jp/document/9.4/html/creating-cluster.html