PostgreSQLインストール方法

概要

PostgreSQLはオープンソースのオブジェクト関係データベース管理システムです。

本手順ではPostgreSQLの最新版8.4.0(2009/9/3現在)を元に説明しています。

バージョンにより内容が異なる場合がありますがご了承ください。


前提条件

  • GNU make
  • gzip,tar

ZoneExpress環境ではこの前提条件を満たしています。


インストール

/var/tmpを作業ディレクトリとします。

$ cd /var/tmp
  • ファイルの入手

Postgreユーザ会のダウンロードページの最新版ソースをダウンロードします。

$ wget ftp://ftp2.jp.postgresql.org/pub/postgresql/source/v8.4.0/postgresql-8.4.0.tar.gz


  • ファイルの解凍
$ tar zxvf postgresql-8.4.0.tar.gz


  • 不要ファイルの削除

不要となったアーカイブファイルを削除します。

$ rm postgresql-8.4.0.tar.gz


  • インストール

作成したディレクトリへ移動します。

$ cd postgresql-8.4.0

configureを実行します。

$ ./configrue --without-readline

オプションの–without-readlineについては不要ライブラリの為外しています。

続けてmakeを実行します。

$ make

インストールの実行

$ sudo make install 

下記出力が確認出来れば完了です。

PostgreSQL installation complete.

PostgreSQL用にユーザpostgres/グループpostgresが作成されています。


  • postgresユーザのパスワードを設定する
$ sudo passwd postgres
<任意のパスワード>

postgresユーザでDB生成等のほかユーザ管理を行えます。

後述するユーザ作成のコマンドでrootユーザ等にも同等の権限を持たせることができます。


コマンドパスの変更

PostgreSQL関連のコマンドは全て/usr/local/pgsql/bin下にインストールされています。

デフォルトでは環境変数のコマンドパスに/usr/local/pgsql/binが含まれていないため追記する必要があります

コマンドパスを変更するを参考に、パスを追記してください。


データベースの初期化

データベースの保存ディレクトリを作成し、初期化を実行します。

postgresユーザにsuします。

$ su - postgres

データベース初期化コマンドを実行します。

$ initdb -D /usr/local/pgsql/data

下記の様な出力が確認出来れば完了です。

$ initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
....
Success. You can now start the database server using:

    postmaster -D /usr/local/pgsql/data
or
    pg_ctl -D /usr/local/pgsql/data -l logfile start


SMFへの登録

SMFへ登録するため、マニフェストファイルを作成します。

$ sudo vi /var/svc/manifest/application/postgresql.xml

以下の内容を貼り付けます。

<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type='manifest' name='postgresql'>
<service
        name='application/postgresql'
        type='service'
        version='1'>
        <instance name='postgresql' enabled='false'>
                <exec_method
                        type='method'
                        name='start'
                        exec='su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data"'
                        timeout_seconds='60' />
                <exec_method
                        type='method'
                        name='stop'
                        exec='su - postgres -c "/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data"'
                        timeout_seconds='60' />
                <exec_method
                        type='method'
                        name='refresh'
                        exec='su - postgres -c "/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data"'
                        timeout_seconds='60' />
        </instance>
        <stability value='Unstable' />
</service>
</service_bundle>

作成したマニフェストファイルをSMFへ登録します。

$ sudo svccfg import /var/svc/manifest/application/postgresql.xml

SMFへ登録された事を確認します。

$ svcs -a | grep postgresql
disabled         16:04:54 svc:/application/postgresql:postmaster


PostgreSQLサーバ起動/停止

  • 起動コマンド
$ sudo svcadm enable postgresql

出力例

$ svcs -a | grep postgresql
online         16:20:16 svc:/application/postgresql:postgresql
  • 停止コマンド
$ sudo svcadm disable postgresql

出力例

$ svcs -a | grep postgresql
disabled       16:20:53 svc:/application/postgresql:postgresql
  • 再起動コマンド
$ sudo svcadm refresh postgresql


参考リンク

db/postgresql.txt · 最終更新: 2009/09/03 17:20 by admin
SolarisVPS/ZoneExpress Boot OpenSolaris Creative Commons License Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0