本文详细介绍在 PostgreSQL 中创建数据库的三种常用方法:使用 SQL 语句 CREATE DATABASE、通过命令行工具 createdb 以及利用图形化管理工具 pgAdmin。文章提供具体的命令语法、参数说明及操作步骤,帮助用户快速完成数据库初始化配置。
创建数据库的最终效果预览
成功创建数据库后,用户将在数据库列表中看到新创建的数据库实例,并能够立即连接该数据库进行后续的数据表创建、数据插入等操作。以下是使用 pgAdmin 工具创建成功后的界面示意:

创建数据库前的准备工作
在执行创建数据库操作之前,请确保满足以下条件:
- 已安装 PostgreSQL 数据库服务器。
- 拥有创建数据库所需的权限(通常为超级用户或具有 CREATEDB 权限的用户)。
- 了解 PostgreSQL 的安装路径,特别是命令行工具
createdb所在的位置。 - 如果使用 pgAdmin,确保已安装并正确连接到 PostgreSQL 服务器。
方法一:使用 SQL 语句创建数据库
这是最基础且通用的创建数据库方式,适用于所有支持 SQL 的 PostgreSQL 客户端。
第1步:打开 PostgreSQL 命令窗口
启动 PostgreSQL 自带的命令行工具 psql,或者使用任何支持 SQL 执行的数据库客户端(如 DBeaver、DataGrip 等)连接到目标数据库服务器。
第2步:执行 CREATE DATABASE 命令
在命令窗口中输入以下 SQL 语句:
CREATE DATABASE dbname;其中,dbname 替换为你想要创建的数据库名称。例如,创建一个名为 runoobdb 的数据库:
postgres=# CREATE DATABASE runoobdb;完成判断:执行成功后,系统通常会返回 CREATE DATABASE 或类似的成功消息。此时,数据库已在服务器端创建,但尚未包含任何数据表。
方法二:使用 createdb 命令行工具创建
createdb 是 PostgreSQL 提供的一个封装了 CREATE DATABASE 命令的命令行工具,适合在服务器端或批量脚本中使用。
第1步:定位 createdb 命令
createdb 命令通常位于 PostgreSQL 安装目录的 bin 文件夹下。例如,在 Linux 或 macOS 系统中,路径可能为 /Library/PostgreSQL/11/bin/ 或 /usr/lib/postgresql/14/bin/。请根据实际安装版本调整路径。
第2步:执行 createdb 命令
打开终端或命令提示符,导航至 bin 目录,然后执行创建命令。基本语法如下:
createdb [option...] [dbname [description]]参数说明:
dbname:必填,要创建的数据库名称。description:可选,关于新数据库的描述信息。option:各种配置选项,常用参数包括:
| 参数 | 描述 |
|---|---|
-D tablespace | 指定数据库默认表空间 |
-e | 将生成的 SQL 命令发送到服务端显示 |
-E encoding | 指定数据库字符编码(如 UTF8) |
-l locale | 指定数据库语言环境 |
-T template | 指定创建数据库所用的模板(默认为 template1) |
-h host | 指定服务器主机名或 IP 地址 |
-p port | 指定服务器监听端口(默认为 5432) |
-U username | 指定连接数据库的用户名 |
-W | 强制要求输入密码 |
第3步:执行具体创建命令
以下是一个完整的示例,使用超级用户 postgres 在本地主机创建名为 runoobdb 的数据库:
$ cd /Library/PostgreSQL/11/bin/$ createdb -h localhost -p 5432 -U postgres runoobdbpassword ******操作说明:
-h localhost:指定服务器地址为本地。-p 5432:指定端口号为 5432。-U postgres:指定用户名为postgres。- 系统会提示输入密码,输入正确的密码后即可完成创建。
完成判断:命令执行无报错,且返回 shell 提示符,表示数据库创建成功。
方法三:使用 pgAdmin 图形化工具创建
pgAdmin 是 PostgreSQL 官方推荐的图形化管理工具,适合不熟悉命令行的用户或需要进行复杂数据库管理的场景。
第1步:连接 PostgreSQL 服务器
打开 pgAdmin,在浏览器树状结构中右键点击 Servers,选择 Create → Server...。在弹出的对话框中填写服务器名称、主机名(localhost)、端口(5432)、维护数据库(postgres)以及用户名和密码,点击 Save 保存连接。
第2步:导航至数据库节点
连接成功后,展开服务器节点,依次展开 Databases。右键点击 Databases 节点,选择 Create → Database...。
第3步:配置并创建数据库
在 General 选项卡中,输入 Name(数据库名称,如 runoobdb)。在 Definition 选项卡中,可以配置所有者、编码、语言环境等高级参数。点击 Save 保存。

完成判断:在左侧浏览器树中,Databases 节点下出现新创建的数据库名称,表示创建成功。
三种创建方式的适用场景对比
- SQL 语句 (CREATE DATABASE):适用于所有场景,特别是当需要通过应用程序代码或存储过程动态创建数据库时。
- 命令行工具 (createdb):适用于服务器运维、批量部署脚本或需要精细控制参数(如表空间、编码)的场景。
- pgAdmin 工具:适用于初学者、日常数据库管理、需要直观查看和配置数据库属性的场景。
常见问题与调整
问题1:权限不足错误
表现:执行创建命令时提示 permission denied 或 must be superuser。
原因:当前登录的用户没有 CREATEDB 权限。
解决方法:使用超级用户(如 postgres)执行,或联系管理员授予当前用户 CREATEDB 权限。
问题2:数据库已存在错误
表现:提示 database "dbname" already exists。
原因:尝试创建的数据库名称已存在。
解决方法:更换数据库名称,或使用 DROP DATABASE dbname; 先删除旧数据库(注意备份数据)。
问题3:字符编码不匹配
表现:创建数据库后,插入中文数据出现乱码。
原因:数据库编码未设置为 UTF8。
解决方法:在创建时显式指定编码,如 createdb -E UTF8 dbname 或在 SQL 中使用 CREATE DATABASE dbname WITH ENCODING 'UTF8';。
总结
PostgreSQL 提供了灵活的数据库创建方式,用户可根据自身技术背景和操作环境选择最合适的方法。SQL 语句适用于程序化操作,createdb 命令适合服务器端自动化脚本,而 pgAdmin 则提供了直观的图形化体验。无论采用哪种方式,确保拥有适当权限并正确配置编码和表空间,是创建稳定数据库实例的关键。
以上就是 PostgreSQL 创建数据库的详细内容,更多关于 PostgreSQL 数据库管理的资料请关注本站其它相关文章!
