postgresql如何新建数据库

来源:网站建设作者:Canve头衔:草根站长
导读:本期聚焦于小伙伴创作的《postgresql如何新建数据库》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《postgresql如何新建数据库》有用,将其分享出去将是对创作者最好的鼓励。

postgresql作为一款功能强大的开源关系型数据库,在实际使用中经常需要根据业务需求创建新的数据库实例。新建数据库的操作并不复杂,用户可以根据自己的使用习惯选择不同的实现方式。

postgresql如何新建数据库

使用createdb命令行工具新建数据库

createdb是postgresql自带的命令行工具,专门用于在shell环境中快速创建数据库,本质是对CREATE DATABASE SQL语句的封装,使用起来非常便捷。

基础的使用语法如下:

# 基本语法,默认使用当前系统用户创建数据库
createdb 数据库名称

# 指定数据库所有者、编码等参数创建数据库
createdb -O 所有者用户名 -E UTF8 数据库名称

举个例子,如果要创建一个名为test_db的数据库,所有者设置为postgres用户,编码为UTF8,可以执行下面的命令:

createdb -O postgres -E UTF8 test_db

执行命令后如果没有报错,就说明数据库创建成功。如果当前系统用户没有postgresql的操作权限,还需要加上-h指定数据库主机、-p指定端口、-U指定登录用户等参数。

使用psql客户端执行SQL语句新建数据库

psql是postgresql的交互式命令行客户端,用户可以先登录到postgresql实例,然后直接执行CREATE DATABASE SQL语句来新建数据库,这种方式可以更灵活地配置数据库参数。

首先登录到postgresql实例:

psql -U postgres -h 127.0.0.1 -p 5432

登录成功后,执行下面的SQL语句创建数据库:

-- 基础创建语句
CREATE DATABASE test_db;

-- 带完整参数的创建语句
CREATE DATABASE test_db
    WITH 
    OWNER = postgres          -- 数据库所有者
    ENCODING = 'UTF8'         -- 字符编码
    LC_COLLATE = 'zh_CN.UTF-8' -- 排序规则
    LC_CTYPE = 'zh_CN.UTF-8'   -- 字符分类
    TABLESPACE = pg_default    -- 表空间
    CONNECTION LIMIT = -1;     -- 连接数限制,-1表示无限制

执行完成后可以通过l命令查看当前所有的数据库,确认新建的数据库是否存在。

使用pgAdmin可视化工具新建数据库

pgAdmin是postgresql官方提供的可视化的管理工具,操作界面友好,适合不熟悉命令行的用户使用。

具体操作步骤如下:

  • 打开pgAdmin并连接到对应的postgresql服务器实例
  • 在左侧导航栏中展开服务器节点,找到Databases选项
  • 右键点击Databases,选择Create,再选择Database
  • 在弹出的创建窗口中,填写数据库名称,按需配置所有者、编码、表空间等参数
  • 点击Save按钮即可完成数据库创建

新建数据库的注意事项

权限要求

新建数据库的用户需要拥有CREATEDB权限,或者是postgresql的超级用户。如果普通用户需要创建数据库,可以由超级用户执行下面的SQL语句授予权限:

ALTER USER 用户名 CREATEDB;

参数配置说明

创建数据库时常用的参数含义如下:

参数名含义
OWNER指定数据库的所有者,默认是执行创建操作的用户
ENCODING指定数据库的字符编码,中文环境一般使用UTF8
LC_COLLATE指定字符串排序规则,需要和编码匹配
CONNECTION LIMIT指定数据库的最大并发连接数,默认是-1无限制

模板数据库说明

新建数据库时默认会以template1作为模板,如果需要使用其他模板,可以在创建语句中通过TEMPLATE参数指定,比如使用template0作为模板创建干净的数据库:

CREATE DATABASE test_db TEMPLATE template0;

template0是一个更基础的模板,不会包含template1中用户自定义的扩展和对象,适合需要纯净初始环境的场景。

postgresql新建数据库createdbpsqlpgAdmin修改时间:2026-07-23 07:09:22

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。