↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本PostgreSQL 6.5 已于 2004 年 6 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

createdb

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

大纲

createdb [ dbname ]
createdb [ -h host ] [ -p port ]
      [ -D datadir ] [ -u ] [ dbname ]
  

输入

-h host

指定 postmaster 所在机器的主机名。默认 使用本地 Unix 域套接字 而不是 IP 连接。

-p port

指定 postmaster 正在监听连接的 Internet TCP/IP 端口或本地 Unix 域套接字文件扩展名。端口 号默认为 5432,或 PGPORT 环境变量的值(如果 设置了的话)。

-u

使用口令认证。提示 输入 username 和 password。

-D datadir

指定本次数据库安装的 备选数据库位置。这是 安装系统表的位置,而不是 这个具体数据库的位置, 后者可能不同。

dbname

指定要创建的数据库的名称。该名称在本 安装中的所有 Postgres 数据库中必须 唯一。 dbname 默认为 USER 环境变量的值。

输出

createdb 会在 PGDATA/dbname/ 数据区为新数据库创建文件。

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'? createdb: database creation failed on dbname.

createdb 无法连接到指定主机和 端口上的 postmaster 进程。如果看到这条消息, 请确保 postmaster 在正确的主机上运行,并且你指定了正确的 端口。如果你的站点使用认证系统,请确保你 已获得所需的认证凭据。

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' createdb: database creation failed on dbname.

你在关系 pg_shadow 中没有有效的 条目,将不被允许访问 Postgres。请 联系你的 Postgres 管理员。

ERROR: user 'username' is not allowed to create/destroy databases createdb: database creation failed on dbname.

你没有创建新数据库的 权限。请联系你的 Postgres 站点管理员。

ERROR: createdb: database 'dbname' already exists. createdb: database creation failed on dbname.

数据库已存在。

createdb: database creation failed on dbname.

psql 或后端服务器 发生了内部错误。请确保你的 站点管理员已正确安装 Postgres 并用 initdb 初始化了站点。

注意

createdb 在内部 从 psql 运行 CREATE DATABASE,同时连接到 template1 数据库。

描述

createdb 创建一个新的 Postgres 数据库。 执行这个命令的人成为该数据库的 数据库管理员( DBA),并且是 Postgres 超级用户之外 唯一可以销毁它的人。

createdb 是一个调用 psql 的 shell 脚本。 因此,在执行 createdb 之前,数据库服务器主机上必须有一个 postmaster 进程在运行。 PGOPTION 和 PGREALM 环境变量将被传递给 psql 并按 psql 中的描述处理。

用法

用本地主机上的 postmaster、端口 5432 创建 数据库 demo:

$ createdb demo
   

用主机 eden 上的 postmaster、端口 5000 创建 数据库 demo:

$ createdb -p 5000 -h eden demo
   

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。