2004/08/19

PostgreSQLのインストールと基本設定

$ emerge dev-db/postgresql
インストールされたPostgresqlのバージョンは7.4.3-r1 でした。

PostgreSQLの起動

Postgresqlをインストールするとpostgresユーザーが作られます。
このユーザー用のホームディレクトリを作成します。
mkdir /var/lib/postgresql
chown postgres:postgres /var/lib/postgresql/
以下の操作はpostgresユーザーで行います 。

1 データベースクラスタを作成する

まず最初にディスクのデータベース格納領域を初期化する必要があります。
これがデータベースクラスタと呼ばれるものです。
データベースクラスタの作成は以下のようにして行います。
$ initdb -D /var/lib/postgresql/data

initdbは指定されたディレクトリが存在しない場合には作成しようとします。

2サーバーの起動

以下のコマンドにより、Postgresqlを起動します。
$ /etc/init.d/postgresql start

3データベースの作成

postgresqlが正常に起動したら、データベースを作成することができます。
例では hogeと言う名前で、データベースの作成を行っています。
createdb hoge

バックアップ リストア

バックアップ

例ではデータベース hoge のバックアップファイルを foo.bup に出力しています。
$ pg_dump hoge > foo.bup

また、特定のテーブルのみバックアップをとりたい場合は、オプション -t の後に
テーブル名を指定します。
例では、データベース hoge の、テーブル bar のバックアップファイルを
foo.bup に出力しています。
$ pg_dump -t bar hoge  > foo.bup

リストア


 データベースにアクセスできるユーザーから以下のコマンドを実行します。
例では、データベース hoge を バックアップファイル foo.bup
リストアしています。
$ psql hoge < foo.bup

TCP/IP接続

他の端末からpostgresqlにアクセスする場合、接続を許すIPアドレスの設定と、
起動オプションの変更が必要です。
例では、192.168.1.1からのアクセスを許す設定を行っています。
/var/lib/postgresql/data/pg_hba.conf を編集し、以下を追加します。
host    all         all         192.168.1.1       255.255.255.0         trust

/etc/conf.d/postgres を編集し、Postgresqlの起動オプションを変更します。
PGOPTS="-i"