| ・コマンド |
| ・pg_dumpを利用したバックアップ,リストア |
| ・copyを利用したバックアップ,リストア |
| ・高速化関連 |
| ・vacuum |
| ・統計情報 |
| ・index |
| ・explain |
| ・その他 |
| ・通版(serial) |
| ・バージョン |
| ・外部結合 |
| コマンド | |
|
psql (ユーザ名) : psql起動 \? : help psqlコマンド一覧表示 \q : quit(psql終了) \h (コマンド名): help 指定コマンドの使用方法 \d ; DB内テーブル一覧情報 \d (テーブル名); DB内テーブル情報 | |
|
注意点 ()内容は任意 例 : \d (テーブル名) -> \d foo \?,\h (コマンド名)により使用方法を確認すること。 |
| pg_dumpを利用したバックアップ,リストア | |
| バックアップ | |
|
pg_dump (DB名) > /tmp/backup/PostgresBackup.dmp
・注意 DB内容をテキストファイルに落とします。 DB内容に比例してファイルサイズも大きくなります。 出力前・後はファイルサイズを検証・圧縮しましょう。 | |
| リストア | |
|
psql (DB名) < /tmp/backup/PostgresBackup.dmp
・注意 対象のデータベースは、dropdbで削除しておくこと。 |
| copyを利用したバックアップ,リストア | |
| バックアップ | |
|
COPY (テーブル名) TO '/tmp/datafile_(テーブル名).dmp';
・注意 psql内で行う。 標準ではタブセパレータでテキスト出力される。 | |
| リストア | |
|
COPY (テーブル名) FROM '/tmp/datafile_(テーブル名).dmp';
|
| 高速化関連 | |
| VACUUM | |
|
ゴミデータを削除する。 ・ゴミデータが出来る理由 ------------------------ DELETE文で削除されたレコードは、実際に削除されるわけではなく、見えないだけです。 また、UPDATEに関しても同様です。 ------------------------ そういったDB内部のゴミデータを削除するのが"VACUUM"コマンドです。 [運用に関して] 上記の理由から、処理内容によりますが定期的にVACUUMを行う必要があります。 なぜなら、ゴミデータの量に比例したコスト(時間)が掛かるからです。 | |
| 統計情報 | |
|
ANALYZEによって収集される。 例:VACUUM [ VERBOSE ] [ ANALYZE ] [ table ] 参考URL:http://pckyou37.cs.shinshu-u.ac.jp/Lesson/DataBase/POSTGRE/sql-vacuum.html | |
| INDEX(索引) | |
|
・作成方法 CREATE INDEX インデックス名 ON テーブル名 (フィールド名1,フィールド名2); *注意点 where句で指定する条件に対して、インデックスを作成すると効果があります。 実際にインデックスが使用されているかは、次項目"EXPLAIN"を参照すること。 | |
| EXPLAIN | |
|
インデックスが利用されているかの確認として用いる。 (処理速度も"cost"という形で計測されてはいる) SQL例:EXPLAIN SELECT a.foo FROM bar a where a.id = 100; 結果 Index Scan using インデックス名 on bar ・・・ |
| その他 | |
| serial(通番) | |
| 参考URL:http://www.net-newbie.com/postgres/man/manl/create_sequence.l | |
| バージョン | |
| 外部結合 | |