Provided by: manpages-zh_1.5-1_all bug

NAME

       initdb - 创建一个新的 PostgreSQL数据库集群

SYNOPSIS

       initdb [ option... ]  --pgdata  | -D directory

DESCRIPTION 述
       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。

OPTIONS项
       -D directory

       --pgdata=directory
               这个选项声明数据库集群应该存放在哪个目录。
              这是initdb需要的唯一信息,但是你可以通过设置              PGDATA
              环境变量来避免键入,
              这样做可能方便一些,因为稍后数据库服务器(postmaster)可以通过同一个变量找到数据库目录。

       -E encoding

       --encoding=encoding
               选择模板数据库的编码方式。这将是你以后创建的数据库的缺省编码方式,
              除非你创建数据库时覆盖了它。 缺省是 SQL_ASCII。

       --locale=locale
               为数据库集群设置缺省的区域。如果没有声明这个选项,那么区域 是从
              initdb 运行的环境中继承过来的。

       --lc-collate=locale

       --lc-ctype=locale

       --lc-messages=locale

       --lc-monetary=locale

       --lc-numeric=locale

       --lc-time=locale
               类似 --locale,但是只设置特殊范畴的区域。

       -U username

       --username=username
               选择数据库超级用户的用户名。         缺省是运行          initdb
              的用户的有效用户。                超级用户的名字是什么并不重要,
              但是我们可以选择习惯的名字
              postgres,即使操作系统的用户名字不一样也无所谓。

       -W

       --pwprompt
               令             initdb            提示输入数据库超级用户的口令。
              如果你不准备使用口令认证,这个东西并不重要。
              否则你将不能使用口令认证直到你设置了口令。

        其他不常用的参数还有:

       -d

       --debug
               从初始化后端打印调试输出以及一些其它的一些普通用户不太感兴趣的信息。
              初始化后端是            initdb            用于创建系统表的程序。
              这个选项生成大量非常烦人的输出。

       -L directory
               告诉       initdb        到哪里找初始化数据库所需要的输入文件。
              通常是不必要的。如果需要你明确声明的话,程序会提示你输入。

       -n

       --noclean
               缺省时,当initdb  发现一些错误妨八瓿纱唇ㄊ菘饧旱墓ぷ魇保
              它将在检测到不能结束工作之前将其创建的所有文件删除。
              这个选项禁止任何清理动作,因而对调试很有用。

ENVIRONMENT境
       PGDATA  声明数据库集群存储的目录;可以用 -D 选项覆盖。

SEE ALSO见
       postgres(1), postmaster(1)

者
       Postgresql  <laser@pgsqldb.org>