TOP » Ubuntu のインストール » サーバーソフトウェアのインストール » PostgreSQL で DB サーバー構築

PostgreSQL で DB サーバー構築

PostgreSQL は商用の RDBMS に匹敵する機能を持つリレーショナルデータベース管理システム(RDBMS)で大量のデーターを高速に、かつ効率よくアクセスすることが可能です。
また PostgreSQL はデーターベース用の標準言語である SQL 言語の仕様への準拠度が高いことが特徴で、Web システムや企業の業務システムなどのさまざまな用途で利用されています。

PostgreSQL のインストール

PostgreSQL は apt-get を使ってインストールします。
以下のように root 権限でインストールを行います。

$ sudo apt-get install postgresql-8.2

Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
  openssl postgresql-client-8.2 postgresql-client-common postgresql-common
  ssl-cert
Suggested packages:
  ca-certificates oidentd ident-server postgresql-doc-8.2
The following NEW packages will be installed:
  openssl postgresql-8.2 postgresql-client-8.2 postgresql-client-common
  postgresql-common ssl-cert
0 upgraded, 6 newly installed, 0 to remove and 1 not upgraded.
Need to get 5555kB of archives.
After unpacking 25.3MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://jp.archive.ubuntu.com feisty/main openssl 0.9.8c-4build1 [1001kB]
Get:2 http://security.ubuntu.com feisty-security/main postgresql-client-8.2 8.2.4-0ubuntu0.7.04 [819kB]
Get:3 http://jp.archive.ubuntu.com feisty/main postgresql-client-common 73 [40.3kB]
Get:4 http://jp.archive.ubuntu.com feisty/main ssl-cert 1.0.13 [9526B]
Get:5 http://jp.archive.ubuntu.com feisty/main postgresql-common 73 [104kB]
Get:6 http://security.ubuntu.com feisty-security/main postgresql-8.2 8.2.4-0ubuntu0.7.04 [3581kB]
Fetched 5555kB in 28s (194kB/s)
Preconfiguring packages …
Selecting previously deselected package openssl.
(Reading database … 19455 files and directories currently installed.)
Unpacking openssl (from …/openssl_0.9.8c-4build1_i386.deb) …
Creating directory /etc/ssl
Selecting previously deselected package postgresql-client-common.
Unpacking postgresql-client-common (from …/postgresql-client-common_73_all.deb) …
Selecting previously deselected package postgresql-client-8.2.
Unpacking postgresql-client-8.2 (from …/postgresql-client-8.2_8.2.4-0ubuntu0.7.04_i386.deb) …
Selecting previously deselected package ssl-cert.
Unpacking ssl-cert (from …/ssl-cert_1.0.13_all.deb) …
Selecting previously deselected package postgresql-common.
Unpacking postgresql-common (from …/postgresql-common_73_all.deb) …
Selecting previously deselected package postgresql-8.2.
Unpacking postgresql-8.2 (from …/postgresql-8.2_8.2.4-0ubuntu0.7.04_i386.deb) …
Setting up openssl (0.9.8c-4build1) …

Setting up postgresql-client-common (73) …
Setting up postgresql-client-8.2 (8.2.4-0ubuntu0.7.04) …

Setting up ssl-cert (1.0.13) …

Setting up postgresql-common (73) …

Setting up postgresql-8.2 (8.2.4-0ubuntu0.7.04) …
Creating new cluster (configuration: /etc/postgresql/8.2/main, data: /var/lib/postgresql/8.2/main)…
Moving configuration file /var/lib/postgresql/8.2/main/postgresql.conf to /etc/postgresql/8.2/main…
Moving configuration file /var/lib/postgresql/8.2/main/pg_hba.conf to /etc/postgresql/8.2/main…
Moving configuration file /var/lib/postgresql/8.2/main/pg_ident.conf to /etc/postgresql/8.2/main…
Configuring postgresql.conf to use port 5432…
 * Starting PostgreSQL 8.2 database server                               [ OK ]

これで PostgreSQL のインストールは完了し起動されます。

PostgreSQL の動作確認

実際に PostgreSQL に接続して正しくインストール、起動されているかを確認します。
以下のように psql コマンドを使って現在サーバーが管理しているデーターベースを確認してみましょう。

$ sudo su - postgres
$ psql -l

        List of databases
   Name    |  Owner   | Encoding
———–+———-+———–
 postgres  | postgres | SQL_ASCII
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII
(3 rows)

PostgreSQL の初期設定

PostgreSQL をインストールすると Linux のシステムに postgres ユーザーが自動的に作成されます。
このユーザーのパスワードが設定されていないので新たにパスワードを設定します。

$ sudo passwd postgres

Enter new UNIX password: postgres ユーザーの新しいパスワードを入力する
Retype new UNIX password: 確認のためにもう一度パスワードを入力する
passwd: password updated successfully

PostgreSQL 上での管理ユーザーも postgres ユーザーとなっています。
この PostgreSQL 上のユーザー postgres にもパスワードを設定します。

$ sudo su - postgres
$ psql -c "alter user postgres with password '**********'"新しく設定するパスワードを入力する

ALTER ROLE

$ exit