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';

CREATE DATABASE - 创建新数据库的更多相关文章

  1. oracle创建新数据库

    oracle创建新数据库 look here http://www.cnblogs.com/phoenixzq/p/3510854.html windows start menu>Oracle& ...

  2. odoo学习:创建新数据库及修改数据库内容

    1.切换到odoo用户 su - odoo -s /bin/bash 2. 创建新数据库 createdb v8dev 3. 初始化数据库,并配置odoo数据模式 chmod +x odoo: odo ...

  3. 【neo4j】文件管理路径、数据备份、创建新数据库、导入数据等操作记录

    neo4j一般的配置路径如下 一.备份数据 使用neo4j-admin命令. 首先,先找到数据的存储路径,然后关闭数据库. 关闭数据库的语句如下: #切换到/bin目录下 ./neo4j stop 然 ...

  4. php大力力 [023节]CREATE TABLE创建新表sql写字段备注(2015-08-27)

    2015-08-27 php大力力023.CREATE TABLE创建新表sql写字段备注 http://www.cnblogs.com/dalitongxue/p/4762182.html 参考: ...

  5. 如何在neo4j中创建新数据库?

    解决方案一: 由于使用Neo3.x创建新数据库而不删除现有数据库,所以只需在$NEO4J_HOME的conf的目录编辑neo4j.conf. 搜寻dbms.active_database=,其默认值应 ...

  6. Create database 创建数据库

    首先在ORACLE用户下进入.bash_profile文件 [oracle@linux02 ~]$ vi .bash_profile export ORACLE_SID=hldbexport ORAC ...

  7. Oracle目录结构及创建新数据库

    oracle目录结构 当需要创建新的数据仓库时我可以用 Database Configuration Assistant(数据库配置助手) admin 存放创建的不同数据库 cfgtoollogs c ...

  8. EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型

    官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新 ...

  9. sql server 2008 创建新数据库报错、创建表报错、更改表的设计报错

    一:创建数据库报错如下: 二:解决,将软件以管理员身份运行 三:创建表报错如下图: 四:解决办法,在你创建的数据库下面的安全里,找到你创建的用户,属性,添加权限,红色标注,然后确定: 五:更改表的设计 ...

随机推荐

  1. 以太坊源码学习 – EVM

    学习文档链接:here 一.虚拟机外 主要功能: 执行前将Transaction类型转化成Message,创建虚拟机(EVM)对象,计算一些Gas消耗,以及执行交易完毕后创建收据(Receipt)对象 ...

  2. mac终端命令加密压缩文件为zip包

    mac终端命令加密压缩文件为zip包,命令如下: zip -e ~/desktop/a.zip b.doc c.txt d.sql 注释:a.zip为加密后的文件 b.doc c.txt d.sql为 ...

  3. iOS 7 present/dismiss转场动画

    前言 iOS 7以后提供了自定义转场动画的功能,我们可以通过遵守协议完成自定义转场动画.本篇文章讲解如何实现自定义present.dismiss自定义动画. 效果图 本篇文章实现的动画切换效果图如下: ...

  4. 【HAOI 2015】 树上操作

    [题目链接] 点击打开链接 [算法] 树链剖分 子树的DFS序是连续的一段! [代码] #include<bits/stdc++.h> using namespace std; #defi ...

  5. AutoIT: 处理GridView控件的一些折中方法

    一般情况下,Gridview是无法通过AutoIT Window Info来获取控件信息的,但是可以有折中的办法对Gridview中的字段赋值. #include<array.au3> $ ...

  6. Python基础第九天

    一.内容

  7. DIV居中显示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Bootstrap标签页

    用法 您可以通过以下两种方式启用标签页: 通过 data 属性:您需要添加 data-toggle="tab" 或 data-toggle="pill" 到锚文 ...

  9. js方式的页面跳转

    window.location.href="login.html";   (直接function里面执行 跳转)

  10. Educational Codeforces Round 19 E. Array Queries(暴力)(DP)

    传送门 题意 给出n个数,q个询问,每个询问有两个数p,k,询问p+k+a[p]操作几次后超过n 分析 分块处理,在k<sqrt(n)时,用dp,大于sqrt(n)用暴力 trick 代码 #i ...