PostgreSQL | ||
---|---|---|
Prev | Chapter 7. データベースの管理 | 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.
Prev | Home | Next |
データベースの管理 | Up | データベースへのアクセス |