CREATEDB(1)

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

SYNOPSIS

createdb [ option... ] [ dbname ] [ description ]

DESCRIPTION 描述

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

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

createdb 是一个 SQL 命令 CREATE DATABASE [create_database(7)] 的封装。 因此，用哪种方法创建数据库都没什么特别的。

OPTIONS 选项

createdb 接受下列命令行参数：

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

description
     这个选项声明一个与新创建的数据库相关的注解。

-D location

--location location
     声明变更了的数据库集群（节点）的位置。 又见 initlocation(1).

-e

--echo
     回显 createdb 生成的命令并且把它发送到服务器。

-E encoding

--encoding encoding
     声明用于此数据库的字符编码方式。

-O owner

--owner owner
     指定将拥有新数据库的数据库用户。

-q

--quiet
     不显示响应。

-T template

--template template
     声明创建此数据库的模板数据库。

 选项 -h，-p，-U， -W，-e 是以文本形式传递给 psql。 选项-O，-D，-T 和 -E 转换为下层的 SQL 命令 CREATE DATABASE [create_database(7)] 的选项；参考该条目获取更多相关信息。

createdb 还接受下列命令行参数作为连接参数：

-h host

--host host
     声明运行服务器的主机名。 如果数值以斜扛开头，则它被用做到 Unix 域套接字的路径。

-p port

--port port
     声明服务器 侦听的等待连接的互联网 TCP 端口或一个本地 Unix 域套接字文件扩展（描述符）。

-U username

--username username
     进行联接的用户名。

-W

--password
     强制口令提示符。

ENVIRONMENT 环境

PGDATABASE
     如果设置了，那么就是要创建的数据库名字，除非在命令行上覆盖了。

PGHOST

PGPORT

PGUSER
     缺省连接参数。PGUSER 还决定了要创建的数据库名字－－ 如果我们没有在命令行上声明数据库名字，也没有用 PGDATABASE 声明的话。

DIAGNOSTICS 诊断

 如果出现错误，将会显示后端错误信息。参阅 CREATE DATABASE [create_database(7)] 和 psql(1) 获取可能信息描述。 数据库服务器必须在目标服务器上运行。同样，前端库 libpq 使用的缺省连接设置和环境变量都将适用。

EXAMPLES 例子

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

$ createdb demo
CREATE DATABASE

 响应信息与运行 CREATE DATABASE SQL 命令时一样。

 用在主机eden上的服务器创建数据库 demo， 端口是 5000，使用 LATIN1 编码方式，并且显示执行的命令：

$ createdb -p 5000 -h eden -E LATIN1 -e demo
CREATE DATABASE "demo" WITH ENCODING = 'LATIN1'
CREATE DATABASE

SEE ALSO 参见
dropdb(1), CREATE DATABASE [create_database(7)]

译者
Postgresql 中文网站 何伟平 <laser@pgsqldb.org>