Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

PostgreSQLコマンドチートシート

More than 1 year has passed since last update.

よく使うPostgreSQLで利用可能なコマンドのチートシートです。
環境:psql (PostgreSQL) 9.5.0

端末上で使うコマンド

サーバの起動

$ pg_ctl start -D /usr/local/var/postgres

サーバの終了

$ pg_ctl stop -D /usr/local/var/postgres

サーバが起動しているかの確認

$ ps aux | grep postgres

データベース接続

$ psql -d database -U user -h host

  • -d: データベース名(未指定だと、ログインユーザー名のデータベースに接続する)
  • -U: ユーザ名(未指定だと、ログインユーザー名になる)
  • -h: ホスト名(未指定だと、localhostになる)

データベース一覧表示

$ psql -l

PostgreSqlバージョン表示

$ psql -V

PostgreSqlに関するヘルプ

$ psql -help

psql上で使うコマンド

postgresの部分には接続中のDB名が入る。

psqlの終了

postgres=# \q

ユーザ一覧を表示

postgres=# \du

データベース一覧を表示

postgres=# \l

他のデータベースに接続

postgres=# \c dbname

データベース作成

postgres=# create database dbname;

接続中のデータベースの情報を表示

postgres=# \conninfo

テーブル一覧を表示

postgres=# \z

テーブル定義を確認

postgres=# \d tablename
tablenameには任意のテーブル名を入れる。

カレントディレクトリ変更

postgres=# \cd directory
カレントディレクトリをdirectoryに変更する。

CSV形式のファイルをテーブルに挿入

postgres=# \copy tablename from filename DELIMITER AS ','

ファイルからコマンドを実行

postgres=# \i filename.sql
ファイルから入力を読み取り、実行する。

コマンドラインの履歴の表示

postgres=# \s
\sの後にファイル名を入力すると、そのファイル名に結果を出力する。

'\'に関するヘルプの表示

postgres=# \?

シェル上のコマンドを使いたい場合

postgres=# \! command
commandの部分にlsやpwdを入れるとpsql上でもシェル上のコマンドが実行できる。

参考

こちらのサイトを参考に書かせていただきました。ありがとうございましたm(_ _)m

Shitimi_613
サイボウズ株式会社の新人です。
https://korosuke613.github.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away