↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 6.4 / 6.3
历史版本PostgreSQL 6.3 已于 2003 年 3 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

7.2. 备选数据库位置

可以在安装的默认位置之外的位置创建数据库。请记住,所有数据库访问实际上 都是通过数据库后端进行的,因此所指定的任何位置都必须 是后端可以访问的。

可以指定一个绝对路径名或者一个环境变量 作为位置。 任何指定备选位置的环境变量都必须在 后端启动之前已经定义。 关于预先配置的备选数据库位置,请咨询 站点管理员。

注意

环境变量风格的指定方式 更可取,因为它让站点管理员在管理磁盘存储时有更大的灵活性。

出于安全和完整性原因, 所指定的任何路径或环境变量都会被追加一些 额外的路径字段。

备选数据库位置必须通过运行 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.

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。