Man page - create_database(7)
Manual
CREATE DATABASE
NAMESYNOPSIS
DESCRIPTION 描 述
PARAMETERS 参 数
NOTES 注 意
EXAMPLES 例 子
COMPATIBILITY 兼 容 性
译 者
跋
NAME
CREATE DATABASE - 创 建 新 数 据 库
SYNOPSIS
CREATE DATABASE
name
[ [ WITH ] [ OWNER [=]
dbowner
]
[ LOCATION [=] ’
dbpath
’ ]
[ TEMPLATE [=]
template
]
[ ENCODING [=]
encoding
] ]
DESCRIPTION 描 述
CREATE DATABASE 创 建 一 个 新 的 PostgreSQL 数 据 库 。
要 创 建 一 个 数 据 库 , 你 必 须 是 一 个 超 级 用 户 或 者 有 特 殊 的 CREATEDB 权 限 。 参 阅 CREATE USER [ create_user (7)]。
通 常 , 创 建 者 成 为 新 数 据 库 的 管 理 员 。 超 级 用 户 可 以 用 OWNER 子 句 创 建 其 它 用 户 所 有 的 数 据 库 。 他 们 甚 至 可 以 创 建 没 有 特 殊 权 限 的 用 户 所 有 的 数 据 库 。 有 CREATEDB权 限 的 非 超 级 用 户 使 用 只 能 创 建 自 己 使 用 的 数 据 库 。
可 以 声 明 一 个 可 选 的 数 据 库 位 置 , 例 如 , 在 另 一 块 硬 盘 上 存 放 数 据 库 。 该 路 径 必 须 是 事 先 用 initlocation[ initlocation (1)] 命 令 准 备 好 了 的 。
如 果 路 径 名 不 包 含 斜 杠 , 那 么 它 被 解 释 成 一 个 环 境 变 量 , 该 变 量 必 须 为 服 务 进 程 所 知 。 这 样 数 据 库 管 理 员 可 以 对 能 够 在 那 里 创 建 数 据 库 进 行 控 制 。 ( 例 如 , 一 个 用 户 化 的 选 择 是 ’PGDATA2’。 ) 如 果 服 务 器 带 着 ALLOW_ABSOLUTE_DBPATHS ( 缺 省 时 没 有 ) 选 项 编 译 , 那 么 也 允 许 使 用 以 斜 杠 开 头 为 标 识 的 绝 对 路 径 ( 例 如 , ’ ’/usr/local/pgsql/data’) 。 In either case, the final path name must be absolute and must not contain any single quotes.
缺 省 时 , 新 数 据 库 将 通 过 克 隆 标 准 系 统 数 据 库 template1 来 创 建 。 不 同 的 模 板 可 以 用 TEMPLATE = name 来 写 。 尤 其 是 , 如 果 你 用 TEMPLATE = template0, 你 可 以 创 建 一 个 很 纯 净 的 数 据 库 , 只 包 括 你 的 版 本 的 PostgreSQL 预 定 义 的 标 准 对 象 。 这 个 方 法 可 以 避 免 把 任 何 已 经 加 入 到 template1 里 的 本 地 安 装 对 象 拷 贝 到 新 数 据 库 。
可 选 的 编 码 参 数 允 许 选 择 数 据 库 编 码 , 如 果 没 有 声 明 , 缺 省 是 所 选 用 的 模 板 数 据 库 用 的 编 码 。
PARAMETERS 参 数
|
name |
要 创 建 的 数 据 库 名 。
dbowner
数 据 库 用 户 的 名 字 , 他 将 拥 有 新 数 据 库 , 或 者 是 写 DEFAULT 使 用 缺 省 的 ( 也 就 是 执 行 命 令 的 用 户 ) 。
|
dbpath |
在 文 件 系 统 里 存 储 新 数 据 库 的 可 选 位 置 ; 用 字 串 文 本 声 明 。 或 者 用 DEFAULT 表 示 使 用 缺 省 位 置 。
template
从 哪 个 模 板 创 建 新 数 据 库 , 这 是 模 板 名 。 或 者 用 DEFAULT 使 用 缺 省 模 板 ( template1) 。
encoding
创 建 新 数 据 库 用 的 多 字 节 编 码 方 法 。 声 明 一 个 字 串 文 本 名 字 ( 比 如 , ’SQL_ASCII’) , 或 者 一 个 整 数 编 号 , 或 者 是 DEFAULT 表 示 使 用 缺 省 编 码 。
可 选 参 数 可 以 以 任 意 顺 序 写 , 而 不 仅 是 上 面 显 示 的 顺 序 。
NOTES 注 意
CREATE DATABASE 不 能 在 一 个 事 务 块 里 面 执 行 。 block.
类 似 "could not initialize database directory" 这 样 的 错 误 最 有 可 能 是 因 为 数 据 目 录 的 权 限 不 够 , 或 者 磁 盘 满 , 或 者 其 它 文 件 系 统 的 问 题 。 在 使 用 可 选 的 位 置 的 时 候 , 运 行 数 据 库 服 务 器 的 用 户 必 须 有 访 问 该 位 置 的 权 限 。
使 用 DROP DATABASE [ drop_database (7)] 删 除 一 个 数 据 库 。
程 序 createdb[ createdb (1)] 是 是 这 个 命 令 的 封 装 , 提 供 来 方 便 使 用 。
在 用 绝 对 路 径 指 定 的 可 选 数 据 库 位 置 时 , 有 一 些 安 全 和 数 据 完 整 性 的 问 题 , 这 就 是 为 什 么 缺 省 时 没 有 打 开 这 个 特 性 的 原 因 。 参 考 ‘‘Managing Databases’’ 获 取 更 多 的 信 息 。
尽 管 我 们 可 以 通 过 把 某 数 据 库 名 声 明 为 模 板 ( 而 非 template1) 从 非 template1数 据 库 拷 贝 数 据 库 , 但 是 这 ( 还 ) 不 是 一 个 通 用 的 "COPY DATABASE" 功 能 。 因 此 , 我 们 建 议 当 做 模 板 使 用 的 数 据 库 都 应 该 是 以 只 读 方 式 对 待 的 。 参 阅 ‘‘Managing Databases’’ 获 取 更 多 信 息 。
EXAMPLES 例 子
创 建 一 个 新 的 数 据 库 :
CREATE DATABASE lusiadas;
在 另 一 个 地 方 ˜/private_db创 建 新 数 据 库 , 在 shell 里 执 行 下 面 的 东 西 : shell:
mkdir private_db
initlocation ˜/private_db
然 后 在 一 个 psql 会 话 里 执 行 下 面 的 东 西 :
CREATE DATABASE elsewhere WITH LOCATION ’/home/olly/private_db’;
COMPATIBILITY 兼 容 性
在 SQL 标 准 里 没 有 CREATE DATABASE 语 句 。 数 据 库 等 同 于 目 录 , 其 创 建 是 由 实 现 决 定 的 。
译 者
Postgresql 中 文 网 站 何 伟 平 <laser@pgsqldb.org>
跋
本
页 面 中 文 版 由
中 文 man 手 册 页 计
划 提 供 。
中 文 man 手 册 页 计
划 :
https://github.com/man-pages-zh/manpages-zh