PostgreSQL:全球最先进的开源关系型数据库 #
PostgreSQL 是什么? #
PostgreSQL 是一款强大的开源对象关系型数据库系统(Object-Relational Database System),由全球开发者社区共同维护,官方将其定位为「世界上最先进的开源关系型数据库」。
它拥有超过 35 年的持续开发历史,凭借可靠性、功能健壮性和性能三大优势,在业界建立了极高的声誉。PostgreSQL 不仅完整支持标准 SQL,还提供了事务完整性、复杂查询优化、并发控制、逻辑复制、扩展机制等企业级能力,可用于 Web 应用后台、数据分析平台、地理信息处理以及金融、电信等高要求业务场景。
作为完全开源免费的软件,它没有许可费用与厂商锁定问题,配合详尽的官方文档和活跃的全球社区,个人开发者与大型企业都能低成本上手并长期演进。
PostgreSQL 有哪些亮点特色? #
- 35 年以上持续演进:PostgreSQL 自上世纪八十年代起持续开发,至今仍保持每年一个大版本、每季度小版本的迭代节奏,稳定性和向后兼容性有口皆碑。
- 对象关系型模型:既支持标准关系型数据库的表、约束、事务与 SQL,也支持自定义数据类型、函数、操作符等对象特性,能表达更复杂的业务模型。
- 完全开源免费:基于开源许可证发布,可自由用于商业项目,无授权费、无用户数限制,为团队省下可观的数据库许可成本。
- 丰富而活跃的扩展生态:社区持续发布插件与扩展,例如
pg_ivm(增量物化视图)、pg_vault_tde(透明数据加密)、pgx-bm25(BM25 排序全文索引)、pg_plan_filter(语句成本拦截)等,可按需为数据库「加装」新能力。 - 严谨的安全维护机制:官方对受支持版本持续发布安全修复,例如 18.6 版本一次性修复了包括逻辑解码输出插件白名单、
pgcryptoPGP 加密检测、to_char()时区缩写缓冲区溢出等在内的多个 CVE 漏洞。 - 清晰的版本支持策略:官网明确列出各受支持版本及其生命周期(如 PostgreSQL 14 将于 2026-11-12 停止接收修复),帮助运维人员提前规划升级路线。
- 完善的学习与社区资源:官方提供全量文档、邮件列表、用户组、以及 PGConf.EU、PGCONF.ASIA、PGDay 系列等全球线下活动,学习曲线有人陪跑。
- 面向未来的性能优化:PostgreSQL 19 引入
REPACK命令、并行 autovacuum、WAIT命令、pg_plan_advice查询计划控制扩展、I/O 工作进程自动伸缩等特性,性能与可运维性进一步增强。

免费下载 PostgreSQL #
以下为各平台安装包,点击链接即可下载(网盘资源):
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| postgresql-18.6-5-osx.dmg | macOS 平台安装包(PostgreSQL 18.6) | 358.6 MB | 夸克网盘 |
| postgresql-18.6-5-windows-x64.exe | Windows 64 位平台安装包(PostgreSQL 18.6) | 395.7 MB | 夸克网盘 |
提示:Linux 用户可优先使用发行版仓库(如
apt、yum、dnf、zypper)或官方源码包安装,以获得更便捷的升级与依赖管理体验。
PostgreSQL 如何使用? #
- 启动数据库服务:安装完成后,PostgreSQL 通常已注册为系统服务并自动启动。Windows 可在「服务」中查看
postgresql-x64-18状态,macOS/Linux 可用pg_ctl或系统服务命令管理。 - 连接数据库:图形化用户可使用 pgAdmin 等客户端;命令行用户打开终端执行
psql -U postgres,输入安装时设置的超级用户密码即可进入交互式 SQL 环境。 - 创建数据库与用户:在
psql中执行CREATE DATABASE mydb;创建数据库,再用CREATE USER myuser WITH PASSWORD 'yourpass';与GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;分配权限。 - 执行 SQL 与导入数据:可直接在
psql中输入 SQL 语句,也可用psql -d mydb -f script.sql批量执行脚本;导入导出推荐使用pg_dump与pg_restore。 - 配置与调优:核心配置文件为
postgresql.conf(服务参数)与pg_hba.conf(客户端认证规则)。修改后通过pg_ctl reload重载,部分参数需重启服务生效。
PostgreSQL 的常见问题? #
PostgreSQL 是免费的吗? 是完全免费的。PostgreSQL 基于开源许可证发布,个人与商业使用均无需支付许可费用,官网也提供完整文档与下载,不存在功能阉割的「社区版/企业版」之分。
PostgreSQL 和 MySQL 有什么区别? 两者都是流行的开源关系型数据库。PostgreSQL 更强调标准 SQL 兼容性、复杂查询能力与可扩展性(自定义类型、函数、扩展),在复杂分析、地理信息、JSON 处理等场景中常被优先选择;具体选型仍需结合团队技术栈与业务需求。
应该选择哪个版本? 生产环境建议使用当前受支持的稳定版本(官网列出 18.6、17.11、16.15、15.19、14.24 等)。19 Beta 系列仅用于功能测试与反馈,官方明确不建议在正式生产环境运行 Beta 版本。
升级大版本需要做什么?
跨大版本升级通常需要使用 pg_dumpall 导出再导入,或使用 pg_upgrade、逻辑复制等方式迁移。小版本(如 18.x 内部)升级一般无需 dump/restore,但官方会提示部分配置调整与数据清理动作。
PostgreSQL 14 还能继续用吗? 官网公告明确指出,PostgreSQL 14 将于 2026-11-12 停止接收修复。若仍在生产环境运行 14,建议尽快规划升级到受支持的较新版本。
数据库出现异常怎么办? PostgreSQL 社区非常重视数据可靠性。若怀疑发现 Bug,可通过官网首页的「Submit a Bug」入口,按照指引提交问题描述与复现步骤。
PostgreSQL 如何安装? #
Windows
- 下载
postgresql-18.6-5-windows-x64.exe安装包。 - 双击运行安装向导,依次选择安装目录、数据目录。
- 设置超级用户
postgres的密码(务必牢记)。 - 设置端口号(默认 5432)与区域设置,确认后点击安装。
- 安装完成后,可通过开始菜单中的 SQL Shell (psql) 或 pgAdmin 连接使用。
macOS
- 下载
postgresql-18.6-5-osx.dmg磁盘映像并双击挂载。 - 将安装向导拖入应用程序或双击运行
PostgreSQL.pkg。 - 按提示完成安装,设置超级用户密码与端口。
- 也可使用 Homebrew 简化安装:
brew install postgresql@18,随后用brew services start postgresql@18启动服务。
Linux
- Debian/Ubuntu 系可添加官方 APT 仓库后执行
sudo apt install postgresql-18。 - RHEL/CentOS/Fedora 系可使用官方 YUM/DNF 仓库执行
sudo dnf install postgresql18-server。 - 也可从官网下载源码包,执行
./configure && make && sudo make install自行编译(适合需要定制编译参数的场景)。 - 安装后通过
sudo systemctl start postgresql启动服务,并设置开机自启。
注意:安装过程中设置的超级用户密码请妥善保存;生产环境建议按官方安全指南配置
pg_hba.conf认证方式并限制远程访问来源。
PostgreSQL 如何卸载? #
Windows
- 打开「控制面板 → 程序和功能」(或「设置 → 应用」)。
- 找到
PostgreSQL 18,点击「卸载」并运行卸载向导。 - 卸载完成后,手动删除残留的数据目录(通常位于安装目录下的
data文件夹),如不再需要历史数据请一并清理。 - 检查系统环境变量
Path中是否残留 PostgreSQL 的bin路径并移除。
macOS
- 若使用官方安装包,可在安装目录中运行自带的卸载脚本,或手动删除
/Library/PostgreSQL/18目录。 - 若使用 Homebrew 安装,执行
brew services stop postgresql@18停止服务,再执行brew uninstall postgresql@18。 - 如需彻底清理,可删除数据目录(Homebrew 默认在
/opt/homebrew/var/postgresql@18或/usr/local/var/postgresql@18)。
Linux
- Debian/Ubuntu:执行
sudo apt remove --purge postgresql-18卸载程序并清理配置。 - RHEL/Fedora:执行
sudo dnf remove postgresql18-server。 - 若需连同数据一起删除,手动移除数据目录(常见路径为
/var/lib/pgsql/或/var/lib/postgresql/)。 - 卸载后可用
ps aux | grep postgres确认没有残留进程,并检查postgres系统用户是否仍需保留。
提醒:卸载前请务必使用
pg_dump或pg_dumpall备份重要数据,删除数据目录后数据将无法恢复。
