PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# createdb

## 名称

createdb -- 创建一个新 PostgreSQL 数据库

## 大纲

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

## 描述

createdb 创建一个新 PostgreSQL 数据库。

通常，执行这个命令的数据库用户将成为新数据库的所有者。 不过，如果拥有合适的权限，那么也可以通过 `-O` 指定其他用户。

createdb 是一个 SQL 命令 CREATE DATABASE的封装。 因此，用哪种方法创建的数据库都一样。

## 选项

createdb 接受下列命令行参数：

`dbname`

  要创建的数据库名。该名称应该在本节点的所有PostgreSQL 数据库中是唯一的。 缺省创建的数据库名称是与当前系统用户同名。

`description`

  指定与新创建的数据库相关的注释。

`-D `tablespace``
`--tablespace=`tablespace``

  指定数据库默认表空间。（这个名称被当作一个用双引号括起来的标识符处理。）

`-e`
`--echo`

  回显 createdb 生成并发送到服务端的命令。

`-E `encoding``
`--encoding=`encoding``

  指定在此数据库中使用的字符编码方案。 PostgreSQL 服务器支持的字符集在 第 22.3.1 节 里列出。

`-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域套接字文件的扩展(描述符)。

`-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支持的环境变量（见 第 31.14 节）。

## 诊断

如果有问题,将会显示后端错误消息。 参阅CREATE DATABASE 和psql获取可能的问题和错误消息的描述。 数据库服务端必须运行在目标主机。 此外，前端库libpq中的所有缺省连接设置和环境变量都将适用。

## 示例

用缺省数据库服务器创建一个`demo`数据库：

    $ createdb demo

在主机`eden`上创建`demo`数据库，端口是5000， 使用`LATIN1`编码方案， 并且回显执行的命令：

    $ createdb -p 5000 -h eden -E LATIN1 -e demo
    CREATE DATABASE demo ENCODING 'LATIN1';

## 另请参阅

dropdb, CREATE DATABASE

上一页 | 起始页 | 下一页
clusterdb | 上一级 | createlang