PostgreSQL/Postgres 创建数据库:如何创建示例
在PostgreSQL中创建数据库的语法是
CREATE DATABASE databasename
让我们学习如何在PostgreSQL命令行和GUI中设置PostgreSQL以及如何创建数据库
PSQL 创建数据库命令行(SQL Shell)
步骤1) 打开 SQL Shell
步骤2) 按五次 Enter 键连接到数据库
步骤3) 输入命令
CREATE DATABASE guru99;
步骤4) 输入命令 \l 获取所有数据库的列表
步骤5) 要连接到数据库,请使用 PostgreSQL 数据库命令
\c guru99
提示符更改为 guru99,这表示我们已连接到 guru99 数据库,并可以在其上执行创建表、触发器、执行 SQL 等操作。
使用 pgAdmin 创建 PostgreSQL 数据库
步骤1) 在对象树中,右键单击并选择“创建数据库”以创建 PostgreSQL 数据库
步骤2) 在弹出窗口中,
- 输入数据库名称
- 如果需要,请注释数据库 – 可选
- 单击保存
步骤3) 数据库已创建并显示在对象树中。
步骤4) 右侧窗格显示用于创建数据库的 SQL。
创建数据库的完整语法
这是在 PostgreSQL 中创建数据库的完整语法
CREATE DATABASE db_name OWNER = role_name TEMPLATE = template ENCODING = encoding LC_COLLATE = collate LC_CTYPE = ctype TABLESPACE = tablespace_name CONNECTION LIMIT = max_concurrent_connection
选项 | 描述 |
---|---|
db_name | 使用此选项指定要创建的新数据库的名称。不过,您需要确保数据库名称必须是唯一的,因为如果您尝试创建与现有数据库同名的数据库,PostgreSQL 将显示错误。 |
role_name | 使用此参数定义将拥有新数据库的用户角色名称。默认为 postgres。 |
模板 | 您可以指定要从中创建新数据库的数据库模板名称。 |
编码 | 此参数允许指定新数据库的字符集编码。默认为 UTF8。 |
排序规则 | 排序规则参数指定字符串的排序顺序,这会影响在 SELECT 语句中使用 ORDER BY 子句时的结果。 |
Ctype | 它指定新数据库的字符分类。它会影响分类,例如数字、小写和大写。 |
tablespace_name | 使用此选项可以指定新数据库的表空间名称。默认是模板数据库的表空间。 |
max_concurrent_connection | 使用此选项指定新数据库的最大并发连接数。默认值为 -1,表示无限制。 |
使用 createdb 命令时常见的错误
错误 | 描述 |
---|---|
未找到 createdb 命令。 | 当 PostgreSQL 未正确安装时,可能会发生此类错误。此时,您需要从您的PostgreSQL 安装路径运行 createdb 命令。 |
服务器上未找到文件,该文件在本地运行并接受 Unix 域套接字上的连接。 | 当 PostgreSQL 服务器未正确启动,或者未在 createdb 命令期望的启动位置启动时,会发生此错误。 |
FATAL 角色 “usr name” 不存在 | 如果创建的 PostgreSQL 用户帐户与系统用户帐户不同,则可能会发生此错误。 |
创建数据库权限被拒绝 | 如果创建的 PostgreSQL 帐户没有创建数据库的权限。在这种情况下,您需要授予关联用户访问创建命令的权限。 |
摘要
- 您可以使用 psql Windows 命令行(SQL Shell)通过命令 “CREATE DATABASE databasename” 来创建数据库。
- 您也可以通过以下步骤使用 pgAdmin 创建数据库:在对象树中 > 右键单击数据库 > 选择“创建数据库”。
- 创建数据库命令失败时遇到的常见错误之一是服务器未正确初始化。重启服务器可以解决此问题。