可選的資料庫位置是通過環境變數來創建和引用的,這個環境變數給出指定儲存位置的絕對路徑。這個聲明資料庫位置的環境變數必須在後端運行前聲明,並且它指向的位置必須為postgres管理員帳戶可寫。有關預配置資料庫位置的問題,請與你的節點資料庫管理員商議。任何有效的環境變數名都可以用於引用一個可選路徑,盡管我們建議使用帶有“PGDATA”前綴的使用環境變數名以避免和其他變數衝突。
注意:在以前版本的 Postgres,還允許用一個絕對路徑來聲明一個可選的儲存位置。盡管我們推薦使用環境變數的方法(因為這樣可以令節點管理員在管理硬碟空間時更靈活)我們還是允許使用絕對路徑的方法來聲明一個可選的位置。管理員手冊描述了如何打開這個特性。
要使用環境變數 PGDATA2 創建數據儲存區(本例中設置為 /alt/postgres),確保 /alt/postgres 已經存在並且可以被 Postgres 管理員帳戶寫。然後在命令行上鍵入:
% initlocation PGDATA2 Creating Postgres database system directory /alt/postgres/data Creating Postgres database system directory /alt/postgres/data/base用下面的命令在命令行上在 PGDATA2 位置上創建儲存區:
% createdb -D PGDATA2 mydb在 psql 裡實現這些的方法是鍵入:
=> CREATE DATABASE mydb WITH LOCATION = 'PGDATA2';如果你沒有創建資料庫的權限,你將看到如下資訊:
ERROR: CREATE DATABASE: permission denied如果聲明的路徑不存在或資料庫後端沒有讀寫該路徑的權限,你將會看到如下資訊:
ERROR: The database path '/no/where' is invalid. This may be due to a character that is not allowed or because the chosen path isn't permitted for databases.