PostgreSQL 教程:数据库与表创建,数据类型完整讲解
完成数据库环境部署后,下一步核心操作就是创建数据库、数据表,并合理选择字段数据类型。数据类型决定数据存储格式、占用空间与查询性能,选错类型会引发乱码、精度丢失、存储膨胀等问题。本文完整讲解 SQL 命令建库、建表语法,分类拆解 PostgreSQL 全量常用数据类型,同时结合 RakSmart PostgreSQL 应用模板,演示可视化图形化操作方式,新手无需手写复杂 SQL 也能完成库表搭建。
本地手动部署需要自行安装 pgAdmin、配置访问权限,线上业务想要快速落地可以选用 RakSmart PostgreSQL 应用模板:https://cn.raksmart.com/app_market/app/postgresql.html,平台提供一站式数据库管理体验,无需专业 DBA 即可高效完成库表设计、数据管理。
一、PostgreSQL 数据库创建语法实操
1. 基础创建数据库 SQL
- OWNER:指定数据库归属账号,默认 postgres 超级用户;
- ENCODING:统一设置 UTF8,杜绝中文存储乱码;
- IF NOT EXISTS:生产脚本必备,防止库已存在时报错中断。
2. 可视化创建数据库(RakSmart 模板内置 pgAdmin)
- 登录 pgAdmin 左侧服务器列表,展开数据库节点;
- 右键「Databases」→Create→Database;
- 填写库名、选择所有者、编码设置 UTF8,点击保存一键生成;
- 界面底部 SQL 标签可自动生成对应建库语句,方便学习 SQL 语法。
二、数据表创建完整语法与实战示例
2.1 标准建表语法结构

NOT NULL非空、UNIQUE唯一、DEFAULT默认值、CHECK自定义校验、PRIMARY KEY主键。2.2 实战:用户信息表完整建表示例

2.3 pgAdmin 图形化建表(RakSmart 模板优势)
- 进入目标数据库→Schemas→public→Tables;
- 右键 Tables→Create→Table;
- General 填写表名,Columns 标签新增字段,下拉直接选择数据类型、勾选非空 / 主键;
- Constraints 面板配置唯一、检查约束,保存后自动生成数据表;
- 支持在线执行 SQL 查询、批量导入导出测试数据,一站式完成表结构设计与数据录入。
三、PostgreSQL 全类别数据类型完整讲解
3.1 数值类型(存储数字、金额、自增 ID)
- 整数系列
- SMALLINT:2 字节,取值 – 32768~32767,适合年龄、评分等小范围数字;
- INT/INTEGER:4 字节,日常主键、数量首选;
- BIGINT:8 字节,海量数据自增 ID、流水号;
- SERIAL/BIGSERIAL:自增伪类型,自动生成序列,用作主键无需手动赋值。
- 精确小数(财务必备)
- NUMERIC (m,n)/DECIMAL (m,n):m 总位数,n 小数位,无精度丢失,存储金额、订单总价;
- 浮点数
- DOUBLE PRECISION:存储温度、测量值,存在精度损耗,财务场景禁止使用。
3.2 字符串文本类型
- VARCHAR (n):变长字符,限制最大长度,用户名、手机号、标题通用;
- TEXT:无长度上限,性能和 VARCHAR 一致,存储文章、评论、大段备注;
- CHAR (n):定长字符,不足长度自动补空格,极少使用,仅固定编码场景。
3.3 日期时间类型
- DATE:仅存储年月日;
- TIME:仅存储时分秒;
- TIMESTAMP:日期 + 时间(无时区);
- TIMESTAMPTZ:带时区时间戳,跨区域业务必选。
3.4 布尔类型
3.5 PostgreSQL 特色 JSON 类型
- JSON:纯文本存储 JSON,每次查询重复解析;
- JSONB:二进制结构化存储,支持索引、快速检索,业务扩展字段首选。
3.6 其他实用类型
四、RakSmart PostgreSQL 模板一站式管理优势
- pgAdmin 可视化管理模板预装完整 pgAdmin Web 界面,浏览器直接操作建库、建表、修改字段、执行 SQL、导入导出数据,不依赖本地客户端,零基础也能完成库表设计工作。
- 零配置启动,权限自动初始化实例部署完成自动初始化数据库、创建管理员账号、开放远程访问权限,无需手动修改
pg_hba.conf,开机即可连接数据库创建业务库表,省去大量配置步骤。 - 便捷运维脚本,保障库表数据安全内置启动、停止、重启、一键备份运维脚本,定期备份库表结构与业务数据,防止误删表、丢失数据,简化长期线上运维工作。
五、FAQ 建库建表与数据类型常见问题
Q1:创建数据库提示编码错误,中文乱码怎么解决?
Q2:存储金额用 FLOAT 还是 NUMERIC?
Q3:JSON 和 JSONB 该怎么选?
Q4:本地手动部署 pgAdmin 操作繁琐,有没有更简单方案?
Q5:建表时主键用 INT 还是 BIGSERIAL?
Q6:误删数据表如何快速恢复?
六、总结
创建数据库、数据表可以通过 SQL 命令行或者 pgAdmin 可视化两种途径来完成,SQL 脚本更适合批量自动化执行,图形界面则更适合新手快速完成表结构的设计工作。数据类型的选择会直接影响数据库的运行性能以及存储数据的准确性,在开发过程中需要根据不同业务场景合理选用数值、文本、时间、JSON 等字段类型,财务金额类业务尤其要避开浮点类型,防止出现精度丢失的问题。
如果选择本地手动部署数据库环境,还需要额外安装管理工具、调试访问权限以及自行编写备份脚本,整体流程比较繁琐,而线上开发与项目落地,大家可以选用 RakSmart PostgreSQL 应用模板(https://cn.raksmart.com/app_market/app/postgresql.html)。该模板自带 pgAdmin 可视化操作工具,实例部署后开箱即用,配套齐全的运维脚本,即便没有专业 DBA 的技术支持,普通开发者也可以顺利完成数据库创建、数据表设计以及日常的数据维护工作。

