目次

PostgreSQL

端末

DB接続

$ psql

オプション

psql

DB一覧

# \l

テーブル一覧

# \dt

ファイル実行

# psql -d {データベース名} -U {ユーザ名} -f {ファイル名}
$ psql -d command_test -U commander -f test.sql

テンプレ

BETWEEN x AND y
 
INSERT INTO [[TABLE]]
  ([[column1]], [[column2]], [[column3]])
VALUES
  ([[value1]], [[value2]], [[value3]])
;
 
 
UPDATE
  [[TABLE]]
SET
  [[column1]] = [[value1]],
  [[column2]] = [[value2]]
WHERE
  [[column3]] = [[value3]]
  AND [[column4]] = [[value4]]
;
 
DELETE FROM
  [[TABLE]]
WHERE
  [[column1]] = [[value1]]
  AND [[column2]] = [[value2]]
;

Tips

シーケンスがおかしい

-- 最大キー値の確認
SELECT MAX(id) FROM TABLE;
 
-- 採番の値の確認
SELECT NEXTVAL('table_id_seq');
 
-- 更新
SELECT SETVAL('table_id_seq', (SELECT MAX(id) FROM TABLE));

全テーブルの削除

DROP schema public cascade
;
CREATE schema public
;

参考

1)
『シーケンス操作関数』, PostgreSQL 9.1.5文書, https://www.postgresql.jp/document/9.1/html/functions-sequence.html, 2021-09-13
2)
『How to reset postgres' primary key sequence when it falls out of sync?』, Stack Overflow, https://stackoverflow.com/questions/244243/how-to-reset-postgres-primary-key-sequence-when-it-falls-out-of-sync, 2021-09-13
3)
『PostgreSQLでINSERT時に自動採番の主キーが重複してエラーが出る場合の対処法』, ぺけみさお, https://www.xmisao.com/2014/06/07/duplicate-key-value-violates-unique-constant-primary-key-on-postgresql.html, 2021-09-13