PostgreSQL – メタコマンド

\q PostgreSQLを終える

PostgreSQLを終えてターミナルやコマンドプロンプトに戻る。

\l データベース一覧を表示する

現在のユーザーのデータベース一覧を表示する。

\c データベースに接続する

データベース名を指定して接続する。

\d テーブル等一覧

接続中のデータベースのテーブル等の一覧を表示する。

\d テーブル構造の表示

\d テーブル名とすることで、そのテーブルの構造を表示する。

\o 問合せ結果の出力先指定

\o ファイルパスとすることで、クエリーの出力をファイルに書きだせる。\oでデフォルトのコンソール出力に戻る。

通常の出力

出力先のファイルを指定。ファイル名のみの場合、psqlを開始したディレクトリー下が参照場所となる。

出力先をコンソールに戻す。

\copy ファイルからテーブルへの読み込み

テーブルにCSVファイルを読み込む構文。ファイルパス中にマルチバイト文字を含むとエラーになるらしい。

 

 

PostgreSQL – 基本コマンド

概要

ターミナルやコマンドプロンプトから実行するPostgreSQLのツールコマンド。

PostgreSQLの開始

psql -U ユーザー名 -d データベース名

または

psql --username ユーザー名 --dbname データベース名

以下はユーザー名:postgres、データベース名:testで開始した例。

  • ユーザーpostgresのパスワードを入力してログイン
  • ログイン後のプロンプトは接続しているDB名となる

データベースのバックアップ

pg_dump -U ユーザー名 データベース名 > バックアップファイル名

以下はユーザー名:postgresでデータベースtestをバックアップファイルtest.dumpに保存する例。

  • ユーザーpostgresのパスワードを入力してログイン
  • バックアップ後は元のプロンプトに戻る
  • 場所を指定しないと、カレントディレクトリーにバックアップファイルが作成される

バックアップファイルのリストア

SQLスクリプトタイプの場合

予めデータベースを作成しておいた上で次のコマンドを実行。

psql -U ユーザー名 -d データベース名 < バックアップファイル名

以下はユーザーpostgresでバックアップファイルtest.dumpからデータベースtestにリストアした例。

カスタムフォーマットの場合

カスタムフォーマットのダンプ(アーカイブファイル)の場合はpg_restoreを使う。

pg_restore -U ユーザー名 -d データベース名 バックアップファイル名