PostgreSQL 教程: CREATE DATABASE 创建数据库

九月 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 数据库服务器。

其次,右键单击 “数据库” 节点,并选择 “创建” > “数据库…” 菜单项

img

它将显示一个对话框,供您输入有关新数据库的详细信息。

第三步,输入数据库的名称并在常规选项卡中选择所有者。

img

在此示例中,我们输入sampledb作为新数据库的名称,输入postgres作为所有者。

第四步,选择 “定义” 选项卡来设置数据库的属性:

img

在 “定义” 选项卡中,您可以选择编码、模板、表空间、排序规则、字符类型和连接限制。

安全” 选项卡允许您定义安全标签并分配权限。“权限” 选项卡允许您为角色分配权限。

第五步,单击 SQL 选项卡,查看生成的将执行的 SQL 语句。

img

最后,单击 “保存” 按钮创建sampledb数据库。您将看到数据库列表中列出的sampledb

img

概括

  • 使用CREATE DATABASE语句创建一个新数据库。