ユーザ用ツール

サイト用ツール


postgres

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
postgres [2019/12/13 05:56] nullponpostgres [2020/01/16 02:45] (現在) nullpon
行 80: 行 80:
 </code> </code>
  
-===== Postgres特有の機能 =====+===== lastval =====
  
-==== lastval ==== +mysqlのlast_insert_idに
- +
-mysqlのlast_insert_idに当たるやつ+
  
 <code> <code>
 SELECT lastval(); SELECT lastval();
 </code> </code>
 +
 +===== 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
 +</code>
 +
 +`delete from xxx;` の代わりに有り難く利用しよう。deleteの場合、データ領域を解放しないが、truncateは解放するので削除後にvacuumする必要がなくなる。
 +
 +===== copy =====
 +
 +データをcsvに出力したり、csvから読み込んだりできる。メタコマンド版と通常コマンド版がある
 +
 +  * メタコマンド版: クライアント側のファイルシステムで入出力される
 +  * コマンド版: サーバ側のファイルシステムに入出力される
 +
 +dockerで動かしている場合などは、ホスト側でpsqlを立ち上げて、メタコマンドで実行するとホスト側とやりとりできる
 +
postgres.1576216589.txt.gz · 最終更新: 2019/12/13 05:56 by nullpon