九月 12, 2023
摘要:在本教程中,您将学习如何使用CREATE DATABASE
语句在 PostgreSQL 数据库服务器中创建新数据库。
目录
PostgreSQL CREATE DATABASE 语句简介
CREATE DATABASE
语句允许您创建新的 PostgreSQL 数据库。
下面显示了CREATE DATABASE
语句的语法:
CREATE DATABASE database_name
WITH
[OWNER = role_name]
[TEMPLATE = template]
[ENCODING = encoding]
[LC_COLLATE = collate]
[LC_CTYPE = ctype]
[TABLESPACE = tablespace_name]
[ALLOW_CONNECTIONS = true | false]
[CONNECTION LIMIT = max_concurrent_connection]
[IS_TEMPLATE = true | false ]
要执行CREATE DATABASE
语句,您需要具有超级用户角色或特殊的CREATEDB
权限。
要创建新数据库:
- 首先,在
CREATE DATABASE
关键字后指定新数据库的名称。数据库名称在 PostgreSQL 数据库服务器中必须是唯一的。如果您尝试创建名称已存在的数据库,PostgreSQL 将发出错误。 - 然后,为新数据库指定一个或多个参数。
参数
OWNER
分配将成为数据库所有者的角色。如果省略OWNER
选项,则数据库的所有者就是您用来执行CREATE DATABASE
语句的角色。
TEMPLATE
指定创建新数据库是使用的模板数据库。默认情况下,如果您没有显式指定模板数据库,PostgreSQL 会使用template1
数据库作为模板数据库。
ENCODING
确定新数据库中的字符集编码。
LC_COLLATE
指定新数据库将使用的排序规则 (LC_COLLATE
)。该参数影响包含ORDER BY
子句的查询中字符串的排序顺序。它默认为模板数据库的LC_COLLATE
。
LC_CTYPE
指定新数据库将使用的字符分类。它影响字符的分类,例如小写、大写和数字。默认为模板数据库的LC_CTYPE
。
TABLESPACE
指定新数据库的表空间名称。默认是模板数据库的表空间。
CONNECTION LIMIT
指定新数据库的最大并发连接数。默认值为 -1,即无限制。此参数在共享托管环境中非常有用,您可以在其中配置特定数据库的最大并发连接数。
ALLOW_CONNECTIONS
allow_connections
参数是一个布尔值。如果是false
,则无法连接到数据库。
TABLESPACE
指定新数据库将使用的表空间。它默认为模板数据库的表空间。
IS_TEMPLATE
如果IS_TEMPLATE
为真,则任何具有CREATEDB
权限的用户都可以克隆它。如果为false
,则只有超级用户或数据库所有者可以克隆它。
PostgreSQL CREATE DATABASE 示例
1) 使用默认参数创建数据库
首先,使用任意客户端工具登录 PostgreSQL。
其次,执行以下语句,使用默认参数创建新数据库:
CREATE DATABASE sales;
PostgreSQL 创建了一个名为sales
的新数据库,该数据库具有来自默认模板数据库 (template1
) 的默认参数。
第三步,如果使用psql
客户端工具,可以使用\l
命令查看当前 PostgreSQL 数据库服务器中的所有数据库:
\l
2) 指定一些参数创建数据库
以下示例使用CREATE DATABASE
语句和一些参数创建一个以hr
命名的数据库:
CREATE DATABASE hr WITH
ENCODING = 'UTF8'
OWNER = hr
CONNECTION LIMIT = 100;
在本例中,我们创建了编码为 UTF8 的hr
数据库,所有者为hr
,数据库并发连接数上限为 100。
3) 使用 pgAdmin 创建新数据库
pgAdmin 工具为您提供了用于创建新数据库的直观界面。
首先,使用 pgAdmin 登录 PostgreSQL 数据库服务器。
其次,右键单击 “数据库” 节点,并选择 “创建” > “数据库…” 菜单项
它将显示一个对话框,供您输入有关新数据库的详细信息。
第三步,输入数据库的名称并在常规选项卡中选择所有者。
在此示例中,我们输入sampledb
作为新数据库的名称,输入postgres
作为所有者。
第四步,选择 “定义” 选项卡来设置数据库的属性:
在 “定义” 选项卡中,您可以选择编码、模板、表空间、排序规则、字符类型和连接限制。
“安全” 选项卡允许您定义安全标签并分配权限。“权限” 选项卡允许您为角色分配权限。
第五步,单击 SQL 选项卡,查看生成的将执行的 SQL 语句。
最后,单击 “保存” 按钮创建sampledb
数据库。您将看到数据库列表中列出的sampledb
:
概括
- 使用
CREATE DATABASE
语句创建一个新数据库。