psql の主要機能(Windows 上)

概要

psql は,PostgreSQL データベースの管理と操作を行うコマンドラインツールである.本ページでは,Windows 上での psql の起動・終了,一般ユーザアカウントの管理,データベースの作成,SQL の実行とファイル出力,データの入出力について解説する.Ubuntu 上での操作は,別ページ »を参照.

目次

関連する外部ページ

【サイト内の関連ページ】

PostgreSQL 活用ガイド

1. 前準備

PostgreSQL のインストール

事前に決定する事項

本ページではデータベースを新規作成するため,データベース名と文字エンコーディングを事前に決める.

また,一般ユーザのアカウントを作成するため,ユーザ名とパスワードを次のとおり設定する.

一般ユーザのアカウント作成,データベースの作成には,PostgreSQL データベース管理者の認証情報が必要となるため,事前に確認する.本ページでは,管理者のユーザ名を postgres として説明する.

2. psql の基本操作

3. psql の起動と終了

psql コマンド

  1. Windows のコマンドプロンプトを起動する.
  2. psql -U postgres を実行する.「postgres」は,PostgreSQL データベース管理者のユーザ名である.
    psql -U postgres
  3. PostgreSQL データベース管理者のパスワードを入力する.プロンプトが表示されたら,管理者(postgres)のパスワードを入力する.パスワード入力時,画面上には文字が表示されない.
  4. 「\c」コマンドで,現在のロール名と接続中のデータベース名を確認する.
    \c
  5. 「\l」コマンドで,データベース一覧を確認する.システムデータベースである postgres,template0,template1 の存在を確認する.
    \l
  6. \q」コマンドで psql を終了する.

SQL Shell の利用

Windows のスタートメニューから,「PostgreSQL <バージョン>」→「SQL Shell (psql)」を選択する.

接続設定では,次の情報を入力する.

4. PostgreSQL での一般ユーザアカウント管理

ロールおよび接続状態の確認

  1. 「psql -U postgres」でログインする.
  2. 次のコマンドで現在の接続状態とロール一覧を確認する.
    \c
    \du

アカウントの作成

新規アカウントは create user コマンドで作成する.

  1. ユーザ名 testuser のアカウントを作成する例:
    create user testuser with password 'hoge$#34hoge5' createdb;
  2. 作成したアカウントで psql にログインし,動作を確認する.

アカウントの削除

アカウントは「drop user testuser;」コマンドで削除する.

5. データベースの作成

データベースの作成には create database コマンドを使用する.

  1. mydb という名前のデータベースを作成する例:文字エンコーディングは UTF8 を指定する.実行後,エラーメッセージが表示されないことを確認する.
    create database mydb encoding 'UTF8';
    • encoding 'UTF8': データベースの文字エンコーディングの指定
    • mydb: 作成するデータベース名

6. SQL の実行とファイル出力

テーブル定義とデータ挿入

create table commodity (
    type integer primary key not null,
    name text not null,
    price integer);
insert into commodity values( 1, 'apple', 50 );
insert into commodity values( 2, 'orange', 20 );
insert into commodity values( 3, 'strawberry', 100 );
insert into commodity values( 4, 'watermelon', 150 );
insert into commodity values( 5, 'melon', 200 );
insert into commodity values( 6, 'banana', 100 );

SQL クエリの実行

select * from commodity;

実行結果の例:

 type  name        price
 ----  ----------  -----
    1  apple          50
    2  orange         20
    3  strawberry    100
    4  watermelon    150
    5  melon         200
    6  banana        100

実行画面:

7. psql のオプション機能

データベース一覧の表示

「psql -U postgres -l」コマンドでデータベース一覧を表示する.Windows 環境ではコマンドプロンプトから実行する.

SQL 実行結果のファイル出力

psql 起動時に「-L <出力ファイル名>」オプションを指定する.

SQL ファイルの実行

psql 起動時に「-f <入力ファイル名>」オプションを指定する.

8. テーブルのインポートとエクスポート

テーブルデータの入出力には PostgreSQL の copy コマンドを使用する.