備忘録的プログラミングリファレンス

psql

 psql は端末からデータベースにログインしデータを操作するためのインターフェイスです。
 psql のクエリーは PostgreSQL データベースへの接続と入出力を担う postmaster を経由します。

 ここでは、主に psql を使った PostgreSQL データベースサーバーへのログインとログアウトについて紹介します。

psql と postmaster

 PostgreSQL の特徴的なのは postmaster と psql です。PostgreSQL における postmaster はデータベースへの接続と入出力を担います。psql は PostgreSQL データベースとのインターフェイスです。

 PostgreSQL データベースの入出力は postmaster が担いマルチユーザーでの接続が可能です。postmaster が OS上で フォアグランド、バックグランドで稼働して、PostgreSQL への入出力を行います。
 自動で入出力が行われるために postmaster の働きを意識することはないですが、 データベース接続用 API の開発や PostgreSQL への接続エラーを修正する際に出てきますのでその存在を憶えておいた方がよいでしょう。

 psql は、PostgreSQL のインターフェイスで、psql コマンドでデータベースの操作ができます。 コマンド操作は psql が担い、そのクエリーは postmaster を経由します。

psql ログイン

 psqlコマンドでPostgreSQLのコマンドラインインターフェイスにログインできます。

$ psql
psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1))
Type "help" for help.
...

 このコマンドラインインターフェイスはPostgreSQL対話型ターミナルとも呼ばれています。使い方はhelpコマンドでhelpを参照して下さい。

database_name=> help
You are using psql, the command-line interface to PostgreSQL.
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

*psqlはPostgreSQLのコマンドラインインターフェイスと表記されているので、このサイトではpsqlはPostgreSQLのコマンドラインインターフェイスと呼ぶようにしています。

 ログインできるのはロールで管理されているユーザーやグループです。操作対象となるデータベースも指定する必要があります。

 UbuntuにおけるPostgreSQLの初期スーパーユーザーは「postgres」です。データベースを指定しなければ、ユーザー名のデータベースに接続します。

 「postgres」ユーザーによるログインは「初期状態での「postgres」ユーザーによるログイン」を参照して下さい。

psql ログアウト

 psql からログアウトする場合は以下のコマンドです。

psqlからのログアウト
=# \q