createdb

createdb —创建一个新的 PostgreSQL 数据库

Synopsis

createdb [ connection-option ...] [ option ...] [ dbname [ description ]]

Description

createdb 创建一个新的 PostgreSQL 数据库。

通常,执行此命令的数据库用户将成为新数据库的所有者。但是,如果执行用户具有适当的特权,则可以通过-O选项指定其他所有者。

createdb 是 SQL 命令CREATE DATABASE的包装。通过此 Util 和其他访问服务器的方法创建数据库之间没有有效的区别。

Options

createdb 接受以下命令行参数:

  • dbname

    • 指定要创建的数据库的名称。该名称在该集群中的所有 PostgreSQL 数据库中必须唯一。默认设置是创建一个与当前系统用户同名的数据库。
  • description

    • 指定要与新创建的数据库关联的 Comments。
  • -D tablespace
    --tablespace=tablespace

    • 指定数据库的默认表空间。 (此名称将作为双引号引起来.)
  • -e
    --echo

    • 回显 createdb 生成并发送到服务器的命令。
  • -E encoding
    --encoding=encoding

    • 指定此数据库中要使用的字符编码方案。 Section 23.3.1中描述了 PostgreSQL 服务器支持的字符集。
  • -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的选项;请参阅此处以获取有关它们的更多信息。

createdb 还接受以下命令行参数作为连接参数:

  • -h host
    --host=host

    • 指定运行服务器的计算机的主机名。如果该值以斜杠开头,则将其用作 Unix 域套接字的目录。
  • -p port
    --port=port

    • 指定服务器正在侦听连接的 TCP 端口或本地 Unix 域套接字文件 extensions。
  • -U username
    --username=username

    • 连接的用户名。
  • -w
    --no-password

    • 切勿发出密码提示。如果服务器要求密码验证,而其他方式(例如.pgpass文件)无法使用密码,则连接尝试将失败。该选项在没有用户 Importing 密码的批处理作业和脚本中很有用。
  • -W
    --password

    • 强制 createdb 在连接数据库之前提示 Importing 密码。

此选项从不是必需的,因为如果服务器要求密码验证,则 createdb 会自动提示 Importing 密码。但是,createdb 将浪费连接尝试,因为它发现服务器需要密码。在某些情况下,值得 Importing-W以避免额外的连接尝试。

  • --maintenance-db=dbname

    • 指定在创建新数据库时要连接的数据库的名称。如果未指定,将使用postgres数据库。如果不存在(或者它是正在创建的新数据库的名称),将使用template1

Environment

  • PGDATABASE

    • 如果设置,则为要创建的数据库的名称,除非在命令行上被覆盖。
  • PGHOST
    PGPORT
    PGUSER

    • 默认连接参数。 PGUSER还确定要创建的数据库的名称(如果未在命令行或PGDATABASE上指定)。

与大多数其他 PostgreSQLUtil 一样,该 Util 也使用 libpq 支持的环境变量(请参见Section 33.14)。

Diagnostics

万一遇到困难,请参见CREATE DATABASEpsql以获取有关潜在问题和错误消息的讨论。数据库服务器必须在目标主机上运行。同样,libpq 前端库使用的任何默认连接设置和环境变量都将适用。

Examples

要使用默认数据库服务器创建数据库demo,请执行以下操作:

$ createdb demo

要使用template0模板数据库,使用主机eden上端口 5000 的服务器创建服务器demo,这是命令行命令和基础 SQL 命令:

$ createdb -p 5000 -h eden -T template0 -e demo
CREATE DATABASE demo TEMPLATE template0;

See Also

dropdb, CREATE DATABASE