PostgreSQL ユーザーズガイド
PrevChapter 3. データベースの管理Next

別のデータベースの場所

インストールのデフォルトの場所以外のところにデータベースを作ることができます。 実際にはすべてのデータベースへのアクセスは データベースのバックエンドを通じて起こりますので、 指定した場所はバックエンドのアクセスできるところでなくてはなりません。

絶対パスもしくは環境変数で場所を指定します。 別の場所を指定する環境変数は バックエンドがスタートする前に定義されていなくてはなりません。 サイト管理者にあらかじめ設定された 別のデータベース場所とみなすところを訊いてみてください。

NOTE: サイト管理者が柔軟にディスク領域を管理できますので、 環境変数での指定方法の方がいいでしょう。

セキュリティと完全性の理由から、 指定されたパスや環境変数はには 付加的なパスフィールドを加えられます。

別のデータベース場所は initlocation を走らせることで 準備しなくてはなりません。

/alt/postgres/data にデータ保存領域を作るには、 /alt/postgres が既に存在しているかどうか確認してください。 コマンドラインから、

% initlocation /alt/postgres/data
Creating Postgres database system directory /alt/postgres/data

Creating Postgres database system directory /alt/postgres/data/base
とタイプします。

同じことを環境変数 PGDATA2 を使って行うには、

% initlocation $PGDATA2
Creating Postgres database system directory /alt/postgres/data

Creating Postgres database system directory /alt/postgres/data/base
とタイプします。

別の保存領域/alt/postgres/data にデータベースを作るには、 コマンドラインから、

% createdb -D /alt/postgres/data mydb
とタイプするか、
% createdb -D PGDATA2 mydb
とします。 また psql から同じことをするには、
* CREATE DATABASE mydb WITH LOCATION = 'PGDATA2';
とタイプします。

データベースの作成に必要な権限を持っていなければ、 次のようなメッセージを見るでしょう:

% createdb mydb
WARN:user "your username" is not allowed to create/destroy databases
createdb: database creation failed on mydb.

指定した場所が存在しないとか、データベースバックエンドが そこへアクセスするあるいはその下のディレクトリに書き込む権限がないと、 次のようなメッセージを見るでしょう:

% createdb -D /alt/postgres/data mydb
ERROR:  Unable to create database directory /alt/postgres/data/base/mydb
createdb: database creation failed on mydb.


PrevHomeNext
データベースの管理Upデータベースへのアクセス