PostgreSQLの基本操作

Sinatraで作成したメモアプリのDB化に伴いPostgreSQLを使うことになったので最低限の基本操作を復習しました。

基本操作

  • DB一覧表示
  • DBへの接続
  • psql の抜け方
  • バックスラッシュコマンド

DB一覧表示

psql -l でデータベース一覧を表示できます。

$ psql -l
                           List of databases
   Name    |  Owner  | Encoding | Collate | Ctype |  Access privileges
-----------+---------+----------+---------+-------+---------------------
 karlley   | karlley | UTF8     | C       | C     |
 postgres  | karlley | UTF8     | C       | C     |
 template0 | karlley | UTF8     | C       | C     | =c/karlley         +
           |         |          |         |       | karlley=CTc/karlley
 template1 | karlley | UTF8     | C       | C     | =c/karlley         +
           |         |          |         |       | karlley=CTc/karlley
 testdb    | karlley | UTF8     | C       | C     |
(5 rows)

DBへの接続

  • psql DB名 でデフォルトに設定されているユーザでDBに接続できます。
  • psql -U ユーザ名 DB名 で指定したユーザでDBに接続できます。

今回はHomebrew経由でmacにPostgreSQLをインストールしたのでpostgres ユーザは存在せず、存在するユーザはkarlley のみです。 DBへ接続するユーザの権限によって下記のようにプロンプトが変化します。

  • スーパーユーザ: =#
  • 一般ユーザ: =>

例) スーパーユーザ karlley でデータベースtemplate1 に接続

$ psql -U karlley template1
psql (14.4)
Type "help" for help.

template1=#

psql の抜け方

以下のどちらかのコマンドでpsql を抜けれます。

  • ctl + D
  • \q

バックスラッシュコマンド

バックスラッシュコマンドとはpsqlPostgreSQLに接続した状態で使えるコマンドです。

  • psql 終了: \q
  • バックスラッシュコマンドのヘルプ: \?
  • SQL のヘルプ: \h
  • DB 一覧: \l
  • ユーザ一覧: \du
  • DB切替: \c DB名

感想

うろ覚えだったので良い復習になった。 習慣的に使って体で覚えていきたい。