金子邦彦研究室インストールPostgreSQL の利用psql の主要機能(Windows 上)

psql の主要機能(Windows 上)

psql は,PostgreSQL に関する各種操作を,簡単に行えるツール.

Ubuntu については,別ページ »で説明している.

サイト内の主な PostgreSQL 関連ページ

関連する外部ページ

1. 前準備

PostgreSQL のインストール

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

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

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

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

2. psql の基本操作

3. psql の起動と終了

psql コマンド

  1. Windowsコマンドプロンプトの起動
  2. psql -U postgresの実行

    postgres」はPostgres データベース管理者のユーザ名

    psql -U postgres
    

    [image]
  3. Postgres データベース管理者のパスワード

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

    画面にパスワードが表示されないのは正常動作.

    [image]
  4. 「\c」により,使用されている PostgreSQL のロール名と,オープンされているデータベース名を確認.
    \c
    

    [image]
  5. 「\l」 により,データベースの確認

    postgres, template0, template1 の 3 つのデータベースが表示されることを確認.

    \l
    

    [image]
  6. \q」で psql を終了する

    [image]

SQL Shell の利用

Windows のスタートメニューで, →「PostgreSQL 12」 →「SQL Shell (psql)」と 操作する.

[image]

その後,次のように回答する.

[image]

4. PostgreSQL で,一般ユーザのアカウント(ユーザ名とパスワード)作成と削除

ロール,既定(デフォルト)で使用されるデータベース名,使用中のロール名の確認

  1. 「psql -U postgres」を実行したとする
  2. ロールの一覧,現在使用中のデータベース名とロール名の確認

    \c
    \du
    

    [image]

アカウント作成

アカウント(ユーザ名とパスワード)を作成するには, create user コマンドを使用する.

  1. ユーザ名 testuser のユーザを新しく作成したいときは, psql で次のように操作する.
    create user testuser with password 'hoge$#34hoge5' createdb;
    
    [image]

  2. 確認のため,いま作成したユーザで,psql を起動してみる.

    [image]

アカウントの削除

アカウントを削除したいときは,psql で,「drop user testuser」のように操作する.

5. データベースの作成

データベースを作成するには,create databaseコマンドw使用する.
  1. データベース名 mydbのデータベースを作成したいときには,次のように操作する.

    文字コード(エンコーディング)は,UTF8に設定

    実行後,エラーメッセージが出ないことを確認

    create database mydb encoding 'UTF8';
    
    • -E UTF8 : 文字コード(エンコーディング)
    • mydb : データベース名
 

6. SQL の実行,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 );

[image]

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

以下は,動作画面.

[image]

7. psql のオプション

データベースの一覧表示

データベースの一覧表示は,「psql -U pgadmin -l」で行う. Windows の場合は,コマンドプロンプトで実行.

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

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

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

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

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

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