![[ 永远的UNIX::UNIX技术资料的宝库 ]](/images/title.gif)
|
| 首页 > 数据库 > 其它 > 正文 |
 |
| PostgreSQL7.0手册-用户手册-19. SQL命令-CREATE DATABASE |
| 编译:何伟平 laser@zhengmai.com.cn (2001-04-21 21:46:41) |
CREATE DATABASE
名称
CREATE DATABASE — 创建新数据库
语法
CREATE DATABASE name [ WITH LOCATION = 'dbpath' ]
输入
name
要创建的数据库名.
dbpath
在文件系统里存储新数据库的可选位置。参阅下面的注意事项。
输出
CREATE DATABASE
命令成功执行的返回信息.
ERROR: user 'username' is not allowed to create/drop databases
你必须有特殊的 CREATEDB 权限来创建数据库。参阅 CREATE USER。
ERROR: createdb: database "name" already exists
如果声明的数据库 database 已经存在返回的信息.
ERROR: Single quotes are not allowed in database names., ERROR: Single quotes are not allowed in database paths.
数据库 name 和 dbpath 不能包含单引号。这样要求是为了创建数据库目录的 shell 命令能够正确执行。
ERROR: The path 'xxx' is invalid.
对声明的 dbpath 扩展(参阅下面为什么)失败。检查你输入的路径或者确信你引用的环境变量的确存在。
ERROR: createdb: May not be called in a transaction block.
如果你有一个显式的事务块正在处理,你不能调用 CREATE DATABASE。你必须先结束事务。
ERROR: Unable to create database directory 'path'., ERROR: Could not initialize database directory.
这种情况最有可能是对数据目录权限不够,磁盘已满或其他文件系统问题。数据库服务器运行的机器上的用户必须能反问该路径。
描述
CREATE DATABASE 创建一个新的 Postgres 数据库.创建者成为新数据库的管理员.
A
可以声明一个可选的数据库位置,例如,为了在另一块硬盘上存放数据库。该路径必须是事先用 initlocation 准备好了的.
如果路径包含斜杠,那么(斜杠)前面的部分被解释成一个环境变量,该变量必须为服务进程所知。这样数据库管理员可以对能够在那里创建数据库进行控制。(例如,一个用户化的选择是 'PGDATA2'。)如果服务器被编译成带有 ALLOW_ABSOLUTE_DBPATHS (缺省时没有)选项,以斜杠开头为标识的绝对路径(例如, '/usr/local/pgsql/data')同样也允许。
注意
CREATE DATABASE 是 Postgres 语言的扩展.
使用 drop_database 删除一个数据库.
程序 createdb 是这个命令的 shell 脚本的封装,提供来方便使用。
在用绝对路径指定的可选数据库位置时,有一些安全和数据完整性的问题,而且缺省时只有后端识别的环境变量可以声明为可选的路径.参考管理员手册获取更多的信息.
用法
创建一个新的数据库:
olly=> create database lusiadas;
在另一个地方创建新数据库. ~/private_db:
$ mkdir private_db
$ initlocation ~/private_db
Creating Postgres database system directory /home/olly/private_db/base
$ psql olly
Welcome to psql, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
olly=> CREATE DATABASE elsewhere WITH LOCATION = '/home/olly/private_db';
CREATE DATABASE
兼容性
SQL92
在 SQL92 里没有 CREATE DATABASE 语句.数据库等同于目录,其创建是由实现决定的.
(http://www.fanqiang.com)
进入【UNIX论坛】
|
|
| 相关文章 |
PostgreSQL7.0手册-用户手册-19. SQL命令-VACUUM (2001-04-21 22:16:33) PostgreSQL7.0手册-用户手册-19. SQL命令-UPDATE (2001-04-21 22:16:12) PostgreSQL7.0手册-用户手册-19. SQL命令-UNLISTEN (2001-04-21 22:15:44) PostgreSQL7.0手册-用户手册-19. SQL命令-TRUNCATE (2001-04-21 22:15:24) PostgreSQL7.0手册-用户手册-19. SQL命令-SHOW (2001-04-21 22:15:01) PostgreSQL7.0手册-用户手册-19. SQL命令-SET (2001-04-21 22:14:42) PostgreSQL7.0手册-用户手册-19. SQL命令-SELECT INTO (2001-04-21 22:14:19) PostgreSQL7.0手册-用户手册-19. SQL命令-SELECT (2001-04-21 22:14:01) PostgreSQL7.0手册-用户手册-19. SQL命令-ROLLBACK (2001-04-21 22:13:41) PostgreSQL7.0手册-用户手册-19. SQL命令-REVOKE (2001-04-21 22:13:18)
|
===更多相关=== |
|
|
 |
★ 樊强制作 欢迎分享 ★ |