ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# createdb ## Name createdb -- 创建一个新 PostgreSQL 数据库 ## Synopsis `createdb` [`_connection-option_`...] [`_option_`...] [`_dbname_` [`_description_`]] ## 描述 createdb 创建一个新 PostgreSQL 数据库。 通常,执行这个命令的数据库用户将成为新数据库的所有者。 不过,如果拥有合适的权限,那么也可以通过 `-O` 指定其他用户。 createdb 是一个 SQL 命令 [CREATE DATABASE](#calibre_link-111)的封装。 因此,用哪种方法创建的数据库都一样。 ## 选项 createdb 接受下列命令行参数: `_dbname_` 要创建的数据库名。该名称应该在本节点的所有PostgreSQL 数据库中是唯一的。 缺省创建的数据库名称是与当前系统用户同名。 `_description_` 指定与新创建的数据库相关的注释。 `-D` `_tablespace_``--tablespace=``_tablespace_` 指定数据库默认表空间。(这个名称被当作一个用双引号括起来的标识符处理。) `-e` `--echo` 回显 createdb 生成并发送到服务端的命令。 `-E` `_encoding_` `--encoding=``_encoding_` 指定在此数据库中使用的字符编码方案。 PostgreSQL 服务器支持的字符集在 [Section 22.3.1](#calibre_link-1463) 里列出。 `-l` `_locale_` `--locale=``_locale_` 指定在此数据库中使用的语言环境。 这相当于同时指定 `--lc-collate` 和 `--lc-ctype`选项。 `--lc-collate=``_locale_` 指定数据库的LC_COLLATE设置。 `--lc-ctype=``_locale_` 指定数据库的LC_CTYPE设置。 `-O` `_owner_` `--owner=``_owner_` 指定将拥有新数据库的用户。(这个名称被当作一个用双引号括起来的标识符处理。) `-T` `_template_` `--template=``_template_` 指定创建此数据库的模板数据库。(这个名称被当作一个用双引号括起来的标识符处理。) `-V` `--version` 输出createdb命令的版本信息,然后退出。 `-?` `--help` 显示createdb命令的帮助信息,然后退出。 选项 `-D`, `-l`, `-E`, `-O`, 和 `-T` 对应底层的SQL命令 [CREATE DATABASE](#calibre_link-111)的选项; 更多信息可以参考该命令的手册页。 createdb还接受以下命令行选项用于连接参数: `-h` `_host_` `--host=``_host_` 指定运行服务器的主机名。如果数值以斜杠开头则被用作到Unix域套接字的路径。 `-p` `_port_` `--port=``_port_` 指定服务器侦听的TCP端口或一个本地Unix域套接字文件的扩展(描述符)。 `-U` `_username_` `--username=``_username_` 进行联接的用户名。 `-w` `--no-password` 永远不提示输入密码。 如果服务器要求密码验证和密码 通过其他方式如`.pgpass`文件(验证)不可用,则联接尝试将失败。 此选项在不需要用户输入密码的批处理作业和脚本中非常有用。 `-W` `--password` 强制createdb联接到数据库之前提示输入密码。 这个选项不是必须的,如果服务器要求认证密码 createdb会自动提示需输入密码。 然而,createdb会浪费一个联接尝试判断出该服务器需要密码。 在某些情况下,这是值得键入`-W`以避免多余的联接尝试。 `--maintenance-db=``_dbname_` 指定要创建新数据库时联接的数据库名称。 如果没有指定,将使用`postgres`数据库; 如果不存在(或是正在创建的新数据库的名称), 将使用`template1`数据库。 ## 环境变量 `PGDATABASE` 如果设置了,那么就是要创建的新数据库的名称,除非在命令行上进行覆盖。 `PGHOST` `PGPORT` `PGUSER` 缺省的联接参数。 如果没有在命令行上和`PGDATABASE` 中声明数据库名称的话,`PGUSER` 还决定了要创建的数据库名称。 . 此实用工具,像大多其他的PostgreSQL实用工具, 还使用 libpq支持的环境变量(见 [Section 31.14](#calibre_link-39))。 ## 诊断 如果有问题,将会显示后端错误信息。 参阅[CREATE DATABASE](#calibre_link-111) 和[psql](#calibre_link-23)获取可能的问题和错误消息的描述。 数据库服务端必须运行在目标主机。 此外,前端库libpq中的所有缺省连接设置和环境变量都将适用。 ## 示例 用缺省数据库服务器创建一个`demo`数据库: ``` <samp class="literal">$</samp> <kbd class="literal">createdb demo</kbd> ``` 在主机`eden`上创建`demo`数据库,端口是5000, 使用`LATIN1`编码方案, 并且回显执行的命令: ``` <samp class="literal">$</samp> <kbd class="literal">createdb -p 5000 -h eden -E LATIN1 -e demo</kbd> <samp class="literal">CREATE DATABASE demo ENCODING 'LATIN1';</samp> ``` ## 另请参阅 [dropdb](#calibre_link-35), [CREATE DATABASE](#calibre_link-111)