postgres
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
postgres [2019/12/13 05:56] – nullpon | postgres [2020/01/16 02:45] (現在) – nullpon | ||
---|---|---|---|
行 80: | 行 80: | ||
</ | </ | ||
- | ===== Postgres特有の機能 | + | ===== lastval |
- | ==== lastval ==== | + | mysqlのlast_insert_idに相当 |
- | + | ||
- | mysqlのlast_insert_idに当たるやつ | + | |
< | < | ||
SELECT lastval(); | SELECT lastval(); | ||
</ | </ | ||
+ | |||
+ | ===== truncate ===== | ||
+ | |||
+ | truncateがトランザクション内で実行される。 | ||
+ | |||
+ | <code sql> | ||
+ | test=# begin; | ||
+ | BEGIN | ||
+ | test=# select count(1) from xxx.items; | ||
+ | 100 | ||
+ | test=# truncate test.hoge; | ||
+ | test=# select count(1) from xxx.items; | ||
+ | 0 | ||
+ | test=# rollback; | ||
+ | ROLLBACK | ||
+ | test=# select count(1) from xxx.items; | ||
+ | 100 | ||
+ | </ | ||
+ | |||
+ | `delete from xxx;` の代わりに有り難く利用しよう。deleteの場合、データ領域を解放しないが、truncateは解放するので削除後にvacuumする必要がなくなる。 | ||
+ | |||
+ | ===== copy ===== | ||
+ | |||
+ | データをcsvに出力したり、csvから読み込んだりできる。メタコマンド版と通常コマンド版がある | ||
+ | |||
+ | * メタコマンド版: | ||
+ | * コマンド版: | ||
+ | |||
+ | dockerで動かしている場合などは、ホスト側でpsqlを立ち上げて、メタコマンドで実行するとホスト側とやりとりできる | ||
+ |
postgres.1576216589.txt.gz · 最終更新: 2019/12/13 05:56 by nullpon