INITDB(1) | PostgreSQL Server Applications | INITDB(1) |
initdb - 创建一个新的 PostgreSQL数据库集群
initdb [ option... ] --pgdata | -D directory
initdb 创建一个新的 PostgreSQL 数据库集群。 一个数据库集群是由单个服务器实例管理的数据库集合。
创建数据库系统包括创建数据库数据的宿主目录,
生成共享的系统表(不属于任何特定数据库的表)和创建
template1
数据库。当你以后再创建一个新数据库时,
template1
数据库里所有内容都会拷贝过来。
它包括填充了象内建类型这样的系统表。
initdb 初始化该数据库集群的缺省区域和字符集编码。 有些区域范畴对该集群而言是全生命期固定的,因此在运行 initdb 的时候选取正确的是非常重要的。 其它区域范畴可以在服务器启动之后的时间里改变。 initdb 将把那些区域设置写到 postgresql.conf 配置文件,这样它们就是缺省的, 但是我们可以通过编辑那些文件来修改它们。 要设置 initdb 使用的区域,参阅 --locale 选项的描述。字符集编码可以在数据库创建的时候独立设置。 initdb 决定 template1 数据库的编码,而该编码将成为所有其它数据库的缺省。 要修改缺省编码,我们可以使用 --encoding 选项。
initdb 必须以运行数据库服务器进程的用户身份运行它。 因为服务器需要能够访问 initdb 创建的文件和目录。 因为服务器不能以 root 身份运行,所以你也不能以 root 身份运行 initdb。(实际上它拒绝以 root 身份运行。)
尽管initdb会尝试创建相应的数据目录,
但经常会发生它没有权限做这些事情的情况。因为所需要的目录的父目录通常是
root 所有的目录。
要为此安排做一个设置,用
root
创建一个空数据目录,
然后用 chown
把该目录的所有权交给数据库用户帐号,
然后 su
成数据库用户,最后以数据库用户身份运行
initdb。
其他不常用的参数还有:
postgres(1), postmaster(1)
Postgresql 中文网站 何伟平 <laser@pgsqldb.org>
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
2003-11-02 | Application |