createdb

Name

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

Synopsis

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

描述

createdb创建一个新PostgreSQL数据库。

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

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

选项

createdb接受下列命令行参数:

dbname

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

description

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

-D tablespace
--tablespace tablespace

指定数据库的缺省表空间

-e
--echo

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

-l locale
--locale locale

指定在此数据库中要使用的环境。这相当于指定--lc-collate--lc-ctype

--lc-collate locale

声明要在数据库中使用的LC_COLLATE设置。

--lc-ctype locale

声明要再次数据库中使用的LC_CTYPE设置。

-E encoding
--encoding encoding

声明此数据库的字符编码。PostgreSQL 服务器支持的字符集在Section 22.2.1里列出。

-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会自动提示密码。然而, createdb将浪费一个连接尝试来发现服务器想 要一个密码。在一些情况下,输入-W来避免额外的连接尝试是 值得的。

环境变量

PGDATABASE

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

PGHOST
PGPORT
PGUSER

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

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 31.13). 这个实用程序,跟大多数其他PostgreSQL实用程序一样,也试用 libpq支持的环境变量。(参阅Section 31.13)。

诊断

如果出现错误,将会显示后端错误信息。 参阅CREATE DATABASEpsql获取可能信息描述。数据库服务器必须在目标服务器上运行。 同样,前端库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