トップページ -> コンピュータ実習 -> PostgreSQL インストールと各種ツールの使用法 -> PostgreSQL のコマンドライン・クライアントの使用法
[サイトマップへ]  

PostgreSQL のコマンドライン・クライアントの使用法

サイト構成 連絡先,業績など コンピュータ実習 データの扱い コンピュータ設定 教材(公開) サポートページ

PostgreSQL のコマンドライン・クライアントとは,PostgreSQL に関する各種操作を,簡単に行えるツールです.

この Web ページでは,PostgreSQL のコマンドライン・クライアントの使用法を説明する.


必要となるソフトウエア

あらかじめ決めておく事項

この Web ページでは,データベースの作成を行うので, 作成するデータベースのデータベース論理名と文字コード(エンコーディング)を決めておくこと. この Web ページでは,次のように書きます.

この Web ページでは, データベース・一般ユーザのアカウント作成しますので, そのユーザ名パスワードを決めておくこと.この Web ページでは次のように書きます.

データベース・一般ユーザのアカウント作成データベースの作成と権限の設定には, PostgreSQL データベース管理者ユーザ名パスワード必要になるので,前もって調べておくこと. この Web ページでは,Postgres データベース管理者のユーザ名pgadmin と書きます.


PostgreSQL のコマンドライン・クライアントの機能

PostgreSQL のコマンドライン・クライアントが持つ以下の機能を説明する.


コマンド・プロンプトの起動法

■ Ubuntu での操作手順(例)

sudo su - postgres
psql -U postgres

■ Windows での操作手順(例)

Windows で「スタート」 →「プログラム」 →「PostgreSQL 8.3」 →「コマンド・プロンプト」と操作すると,下記のようなウインドウが現れる.

下記で説明するコマンドライン・クライアントは,コマンドプロンプトの上で実行する.

 

データベース・一般ユーザのアカウント(ユーザ名とパスワード)作成 `

データベース・一般ユーザのアカウント(ユーザ名とパスワード)を作成するには, createuser コマンドを使用します.

  1. ユーザ名を指定して createuser コマンドを起動

    ユーザ名 testuser のユーザを新しく作成したいときは, Windows のコマンドプロンプトなどで,

    createuser -U pgadmin -P -S -D -R testuser

    のように操作する.

    createuser コマンドの詳細は, http://www.postgresql.jp/document/pg833doc/html/app-createuser.html

  2. パスワードの設定

    プロンプトが出るので,hoge$#34hoge5 のように, 新しいユーザ testuserパスワードを入力.

    ※ 説明上,単純に hoge$#34hoge5 と書いていますが,必ず,これとは違う適切なパスワードを設定すること)

  3. パスワードの確認

    プロンプトが出るので,もう1度,同じ hoge$#34hoge5 を入力.

  4. PostgreSQL データベース管理者 (pgadmin) のパスワード

    プロンプトが出るので, PostgreSQL データベース管理者 (pgadmin) のパスワード を入力する.

  5. エラーメッセージが出ないことを確認

ユーザの削除

ユーザを削除したいときは,コマンドプロンプトで,「dropuser -U pgadmin testuser」のように操作する.


 

データベースの作成と権限の設定

データベースを作成するには, createdb コマンドを使用します.

  1. データベース論理名と,オーナと,文字コード(エンコーディング)を指定して createdb コマンドを起動

    文字コード(エンコーディング)UTF8で,オーナが testuser で, データベース論理名 testdb のデータベースを作成したいときは, Windows のコマンドプロンプトなどで,

    createdb -U pgadmin -O testuser -E UTF8 testdb
    

    のように操作する.

    createdb コマンドの詳細は, http://www.postgresql.jp/document/pg833doc/html/app-createdb.html

    文字セットの詳細は, http://www.postgresql.jp/document/pg833doc/html/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED

  2. PostgreSQL データベース管理者 (pgadmin) のパスワード

    プロンプトが出るので, PostgreSQL データベース管理者 (pgadmin) のパスワード を入力する.

  3. エラーメッセージが出ないことを確認

データベースの一覧表示

データベースの一覧表示は,「psql -U pgadmin -l」で行う.


psql での PostgreSQL への接続と切断

PostgreSQL のコマンドライン・クライアントのうち psql を使うには, 最初に,PostgreSQL への接続を行う必要があります.

以下,psql について,データベース・一般ユーザ testuser として接続し, データベース論理名 testdbのデータベースを使う場合の手順を説明する.

psql の詳細は, http://www.postgresql.jp/document/pg833doc/html/app-psql.html

  1. ユーザー名とデータベース論理名を指定して psql を起動

    Windows のコマンドプロンプトなどを使用して psql を起動する. データベース・一般ユーザ testuser としてログインしたいので,「psql -U testuser testdb」のようになる.

    psql起動しないときの対処法

    環境変数 PATH に「;C:\Program Files\PostgreSQL\8.3\bin」を追加.

  2. パスワードを入力

  3. ログインの終了

  4. 切断 するには,psql において,「\q」と操作する.


 

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

psql にデータベース・一般ユーザでログインした後, SQL や PostgreSQL コマンドの実行ができます. SQL によるテーブルの定義と,問い合わせと,更新の実行例は下記の通り.

  1. psql での PostgreSQL への接続

    データベース・一般ユーザ (testuser) でログインします. (必要がないのに,PostgreSQL データベース管理者でログインすることは避ける)

    ログインの時点で,データベースが選ばれていることに注意(下記の例では,testdb

  2. SQL の実行

    psql で,下記のような SQL を実行できる.

          CREATE TABLE commodity (
              type INTEGER primary key not null,
              name VARCHAR(32) 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 );
          SELECT * FROM commodity;
    

    期待される結果.

          TYPE NAME       PRICE
           ---- ---------- -----
              1 apple         50
              2 orange        20
              3 strawberry   100
              4 watermelon   150
              5 melon        200
              6 banana       100
    

    以下は,動作画面.

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

psql の起動において,「-L <ファイル名>」を付ける.

ファイルに入った SQL の実行

psql の起動において,「-f <ファイル名>」を付ける.


 

テーブルのインポート,エクスポート

テーブルのインポート,エクスポートには,PostgreSQL の copy コマンドを使う. Windows の場合には,2つ注意点があるので,下に書きます