トップページ -> 実践知識 -> PostgreSQL インストールと各種ツールの使用法 -> Linux で PostgreSQL のダウンロードとインストールとテスト実行
[サイトマップへ]  

Linux で PostgreSQL のダウンロードとインストールとテスト実行

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

Postgres のインストールとテスト実行を行ないます

参考情報

PostgreSQL 関係のツール類の使用法については, 「PostgreSQL インストールと各種ツールの使用法」の Web ページを見てください.

参考Webページ:


 

事前に決めておく事項


PostgreSQL のインストール手順

■ Ubuntu で,パッケージを使ってインストールしたい場合

  1. アップデート操作

    sudo apt-get -yV install update
    sudo apt-get -yV install upgrade
    sudo shutdown -r now
    

  2. PostgreSQL と関連パッケージのインストール

    sudo apt-get -yV install postgresql
    sudo apt-get -yV install postgresql-client-common
    sudo apt-get -yV install postgresql-common
    sudo apt-get -yV install postgresql-contrib
    sudo apt-get -yV install postgresql-9.1-postgis
    sudo apt-get install postgresql-9.1-plr
    

  3. pgAdmin III のインストール

    sudo apt-get -yV install pgadmin3
    

  4. (オプション) 関連ソフトウエア のインストール

    sudo apt-get -yV install postgis
    

  5. インストール直後なので、サーバを手動で起動して停止してみる

    sudo service postgresql start 
    sudo service postgresql stop
    

■ Fedora 15 で,パッケージを使ってインストールしたい場合

  1. アップデート操作

    sudo yum check-update
    sudo yum update
    sudo reboot
    

  2. PostgreSQL サーバと関連のプログラムのインストール

    sudo yum install postgresql-devel
    sudo yum install postgresql-server
    sudo yum install postgresql
    sudo yum install postgresql-docs
    sudo yum install postgresql-contrib
    sudo yum install postgresql-odbc
    sudo yum install postgresql-jdbc
    sudo yum install cacti
    sudo yum install postgis
    sudo yum install postgis-docs
    sudo yum install postgis-utils
    sudo yum install postgis-jdbc
    

  3. postgresql サーバが自動起動するように設定

    sudo /sbin/chkconfig postgresql on
    sudo reboot
    

  4. pgAdmin III のインストール

    sudo yum install pgadmin3
    

Postgres のデータベースディレクトリとデータベースファイルの作成

  1. postgres 用アカウントが存在することの確認

    Ubuntu や Fedora で,パッケージを使って PostgreSQL をインストールすると,Postgres 用アカウント(ユーザ名は「postgres」)が自動的に作成される.

    cat /etc/passwd | grep postgres
    

    ※ 「x」は no password という意味(パスワードがないという意味ではない)

    ■ Ubuntu 12.10 での実行結果例

    ■ Fedora 15 での実行結果例

  2. データベースディレクトリの作成と権限の設定

    ◆ Ubuntu での操作手順(例)

    ここでは,データベースディレクトリは /var/lib/postgresql/data とします.好きに決めていいです.日本語を含まないディレクトリがいいでしょう.

    sudo mkdir /var/lib/postgresql/data
    sudo chown -R postgres:postgres /var/lib/postgresql/data
    

    ■ Ubuntu 12.10 での実行結果例

    ■ Fedora 15 の場合

    Fedora で,パッケージを使って PostgreSQL をインストールすると, データベースディレクトリ/var/lib/pgsql/data が自動的に作成されます まずデータベースディレクトリが存在するかの確認を行っておきます.

    sudo ls -la /var/lib/pgsql/data
    

  3. データベースファイルの生成

    「sudo su - postgres」は,postgres ユーザに切り替える操作です. 元のユーザに戻るには「exit」と操作します.

    ■ Ubuntu 12.10 での操作手順と実行結果(例)

    sudo su - postgres
    /usr/lib/postgresql/9.1/bin/initdb --encoding='UTF-8' -D /var/lib/postgresql/data
    

    ■ Fedora 15 での操作手順と実行結果例

    sudo su - postgres
    initdb --encoding='UTF-8' -D /var/lib/pgsql/data
    

  4. 元のユーザに戻りたいときは,「exit」と操作する.

    exit
    

Postgres のサンプルデータベースの作成と権限の設定

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

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

    文字コード(エンコーディング)UTF8で, データベース論理名 testdb のデータベースを作成したいときは, 次のように操作する.

    sudo su - postgres
    createdb -U postgres -E UTF8 testdb
    

    ■ Ubuntu 12.04 での実行結果例

    ■ Fedora 15 での実行結果例

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

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

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

  3. 元のユーザに戻りたいときは,「exit」と操作する.

    exit
    

Posgres のデータベースの一覧表示

  1. データベースの一覧表示を行なってみる

    PostgreSQL の場合,データベースの一覧表示は,「psql -l」で行います.

    sudo su - postgres
    psql -U postgres -l
    

    ■ Ubuntu 12.04 での実行例

    ■ Fedora 15 での実行例

  2. 表示結果の確認

    ■ Ubuntu 12.04 での実行結果例

    ■ Fedora 15 での実行結果例

  3. 元のユーザに戻りたいときは,「exit」と操作する.

    exit
    

テーブルの定義と作成

  1. PostgreSQL サーバへの接続

    sudo su - postgres
    psql -U postgres -d testdb
    

  2. SQL を用いたテーブル定義

    CREATE TABLE order_records (
        id            INTEGER  PRIMARY KEY NOT NULL,
        year          INTEGER  NOT NULL CHECK ( year > 2008 ),
        month         INTEGER  NOT NULL CHECK ( month >= 1 AND month <= 12 ),
        day           INTEGER  NOT NULL CHECK ( day >= 1 AND day <= 31 ),
        customer_name TEXT  NOT NULL,
        product_name  TEXT  NOT NULL,
        unit_price    REAL     NOT NULL CHECK ( unit_price > 0 ),
        qty           INTEGER  NOT NULL DEFAULT 1 CHECK ( qty > 0 ),
        created_at    TIMESTAMP NOT NULL,
        updated_at    TIMESTAMP,
        CHECK ( ( unit_price * qty ) < 200000 ) );
    

  3. SQL を用いたテーブル生成

    BEGIN TRANSACTION;
    INSERT INTO order_records VALUES( 1, 2009, 10, 26,  'kaneko', 'orange A', 1.2, 10, current_timestamp, NULL );
    INSERT INTO order_records (id, year, month, day, customer_name, product_name, unit_price, qty, created_at) VALUES( 2, 2009, 10, 26,  'miyamoto', 'Apple M',  2.5, 2, current_timestamp );
    INSERT INTO order_records (id, year, month, day, customer_name, product_name, unit_price, qty, created_at) VALUES( 3, 2009, 10, 27,  'kaneko',   'orange B', 1.2, 8, current_timestamp );
    INSERT INTO order_records (id, year, month, day, customer_name, product_name, unit_price, created_at) VALUES( 4, 2009, 10, 28,  'miyamoto',   'Apple L', 3, current_timestamp );
    COMMIT;
    

  4. 簡単な SQL 問い合わせ

    SELECT * FROM order_records; 
    

  5. SQL 問い合わせ結果の確認

    ■ Ubuntu 11.04 での実行結果例

    ■ Fedora 15 での実行結果例

  6. psql を終了したいときは,「\q」と操作する.

    \q
    


参考Webページ: