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

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 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

CREATE DATABASE

CREATE DATABASE — 创建一个新数据库

大纲

CREATE DATABASE name [ WITH LOCATION = 'dbpath' ]
  

输入

name

要创建的数据库的名称。

dbpath

备选位置可以指定为一个后端服务器已知的 环境变量(例如 'PGDATA2'),或者一个绝对路径名 (例如 '/usr/local/pgsql/data')。 无论哪种情况,该位置都必须由 initlocation 预先配置。

输出

CREATEDB

命令成功完成时返回的消息。

WARN: createdb: database "name" already exists.

如果所指定的 database 已经存在,就会出现这个错误。

ERROR: Unable to create database directory directory

创建所需的目录时出了问题;这个操作将需要 postgres 用户在指定位置上的权限。

描述

CREATE DATABASE 创建一个新的 Postgres 数据库。 创建者成为新数据库的管理员。

注意

CREATE DATABASE 是一种 Postgres 语言扩展。

使用 DROP DATABASE 删除一个数据库。

用法

创建一个新的数据库:

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 the POSTGRESQL interactive sql monitor:
    Please read the file COPYRIGHT for copyright terms of POSTGRESQL
    
    type \? for help on slash commands
    type \q to quit
    type \g or terminate with semicolon to execute query
    You are currently connected to the database: template1
    
    olly=> create database elsewhere with location = '/home/olly/private_db';
   CREATEDB
   

缺陷

使用以绝对路径名指定的备选数据库 位置会涉及安全和数据完整性问题,默认情况下, 只有后端已知的环境变量才能被 指定为备选位置。 更多信息见《管理员指南》。

兼容性

SQL92

SQL92 中没有 CREATE DATABASE 语句。

标准 SQL 中等价的命令是 CREATE SCHEMA。

提交更正

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