源本科技 | 码上会

PostgreSQL 创建数据库

2026/03/17
7
0

概述

在 PostgreSQL 中创建数据库是开发人员和数据库管理员进行数据管理的基础任务。PostgreSQL 提供了多种创建数据库的方式,以适应不同用户的操作习惯:既可以通过命令行接口(CLI)执行 SQL 命令,也可以使用图形化管理工具如 Navicat 17 进行可视化操作。


使用 psql

psql 是 PostgreSQL 自带的命令行交互工具,允许用户通过标准的 SQL 语句创建数据库。

这种方法适合需要脚本化部署或精确控制数据库参数的场景。

基本语法

CREATE DATABASE db_name
 OWNER = role_name
 TEMPLATE = template_name
 ENCODING = encoding_name
 LC_COLLATE = collate_name
 LC_CTYPE = ctype_name
 TABLESPACE = tablespace_name
 CONNECTION LIMIT = max_connections;

关键参数

参数

说明

db_name

新数据库的名称,必须在当前集群中唯一

role_name

数据库所有者的角色名称,该用户将拥有数据库的最高权限

template_name

用于创建新数据库的模板库,默认为 template1

encoding_name

字符集编码,如 UTF8LATIN1 等,默认继承模板库编码

collate_name

排序规则,影响字符串比较和排序行为(如大小写敏感)

ctype_name

字符分类规则,影响字符类型判断(如数字、大小写字母)

tablespace_name

指定数据库存储的物理表空间位置

max_connections

允许连接到该数据库的最大并发会话数


命令行创建数据库

示例一:使用默认配置

最简单的创建方式是指定数据库名称,其他参数均采用系统默认值。PostgreSQL 会自动应用默认编码(通常为 UTF8)、默认表空间,并且不限制连接数。

SQL 语句:

CREATE DATABASE my_test_db1;

执行结果说明: 系统成功创建名为 my_test_db1 的数据库,其编码为 UTF8,所有者为当前执行命令的用户,连接数无限制。

示例二:自定义参数创建

在实际生产环境中,我们通常需要指定特定的编码、所有者以及连接限制,以满足应用需求。

需求场景:

  • 编码格式:UTF8

  • 数据库所有者:DevTeamLead(假设已存在该角色)

  • 最大并发连接数:30

SQL 语句:

CREATE DATABASE my_test_db2
 WITH ENCODING = 'UTF8'
 OWNER = DevTeamLead
 CONNECTION LIMIT = 30;

执行结果说明: 数据库 my_test_db2 被创建,强制使用 UTF8 编码,归属权交给 DevTeamLead 用户,且同一时间最多只允许 30 个连接接入,有效防止资源耗尽。


对于偏好图形界面的用户,Navicat 17 提供了直观、高效的数据库管理体验。相比传统的 pgAdmin,Navicat 在连接稳定性、界面响应速度和功能集成度上表现更为出色,是国内开发者广泛使用的工具。

第一步:连接服务器

启动 Navicat 17,在主界面点击“连接”按钮,选择 PostgreSQL。输入主机地址、端口(默认 5432)、初始数据库(通常是 postgres)、用户名和密码,测试连接成功后保存。

第二步:新建数据库

  1. 在左侧连接树中,右键点击已连接的 PostgreSQL 实例。

  2. 在弹出的菜单中选择 “新建数据库”

第三步:配置数据库参数

在弹出的“新建数据库”对话框中,填写以下信息:

  • 数据库名:输入唯一的数据库名称。

  • 所有者:从下拉列表中选择拥有该数据库的角色。

  • 编码:选择字符集,推荐 UTF8

  • 连接限制

    • 输入正整数:限制最大并发连接数。

    • 输入 -1:表示不限制连接数(默认值)。

配置完成后,点击 “确定” 按钮,Navicat 将自动执行后台 SQL 命令完成创建。

第四步:验证结果

创建成功后,刷新左侧导航栏,即可看到新生成的数据库。双击可展开查看其中的模式(Schema)、表、视图等对象。