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

原文地址:https://www.cnblogs.com/fanweisheng/p/11077506.html

时间: 2024-08-07 15:28:41

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

So Easy! Oracle在Linux上的安装配置系列三使用create database创建数据库

本文为So Easy! Oracle在Linux上的安装配置系列的第三篇,使用create database创建数据库,本序列第一篇介绍了学习实验环境的搭建包括:在win 7中使用VMware Workstation 创建虚拟机,安装CentOS-6.6-x86_64,网络配置 和使用xshell连接远程linux服务器,上传Oracle软件和使用操作系统安装光盘搭建本地yum源,第二篇专门说了Oracle11g R2在CentOS6.6上的安装,包括Oracle安装前的准备工作,并以图文详细介

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

2015-08-27 php大力力023.CREATE TABLE创建新表sql写字段备注 http://www.cnblogs.com/dalitongxue/p/4762182.html 参考: MySQL字段的说明和备注信息 http://blog.csdn.net/chelen_jak/article/details/45689139 DROP TABLE IF EXISTS test_table; CREATE TABLE test_table( Test_ID int NOT NUL

SqlSever基础 create database 创建一个新的数据库到默认的位置

1 2 1 create database helloworld 3 4

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

官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新的数据库,我们首先在appsettings.json文件夹中,使用json对来给出mysql数据库连接语句,其次在 Startup.cs中使用MySql的中间价来注入MySql服务,在这里,我使用的MySql驱动是Pomelo.EntityFramoworkCore.MySql.新建一个类,用来做数

Entity Framework学习一:在.net类基础上创建新数据库

此文章为读Code-First develoment with entity framework简单笔记. 1.首先我们创建一个Person类 public class Person { public int PersonId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } 接着创建Context类,该类继承于DbContext类 public class Con

mysql5.7基础 show create database... 查看一个数据库用的是什么字符编码

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.7                     os:Windows7 x64 代码及效果 mysql> show create database newbases; +----------+----

Exchange server 2013 创建新数据库

什么是Exchange数据库? Exchange数据库就是存放邮箱和邮件数据的地方,以(.edb) 文件的形式存储: 注意: 企业版:可以在正式发布 (RTM) 版本和累计更新 1 (CU1) 版本中扩展到为每个服务器装入 50 个数据库,而在累计更新 2 (CU2) 版本和更高版本中扩展到为每个服务器装入 100 个数据库: 标准版:限制在每个服务器中装入 5 个数据库. 1.打开EPC管理界面,选择"服务器"--"数据库"然后选择上面的添加按钮(即+): 2.输

RMAN:简单的duplicate创建新数据库 for 12c+

构建参数文件 *.db_name='test2' ##### 需要注意的地方,和rman的duplicate目标库一致 *.compatible='18.0.0' ##### 关键的地方,每个版本的模板库文件的兼容性通常是和版本一致的 *.pga_aggregate_target=1000m *.sga_target=1800m *.db_create_file_dest='D:\oracle_db_18.3\oradata\' #####关键的地方,省去data文件的手工重定向 *.contr

使用CREATE DATABASE语句创建数据库

本文参考了<Administrator's Guide >第二章中使用create database创建数据库的方式.一般而言,我们最先接触到的是使用dbca创建数据库,与之相比,使用create database 显得较为复杂. ----------------------------------------------------------------------------------------- 使用create database命令创建数据库需要经过如下步骤: 步骤1: 指定实例