【PostgreSQL安装】保姆级安装教程+特性详解

[复制链接]
发表于 10 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在 Windows 上装 PostgreSQL,绕不开两件事:一是装完整服务器还是只装 libpq 客户端库,二是装完初始化时那一堆密码到底哪几个。这篇把安装全流程、初始化步骤、常见报错,以及 PostgreSQL 的核心特性和适用场景一次性讲清楚,按 15.x 版本实测过,踩坑的地方都标出来了。

先看清两套安装路线怎么选

目录结构如下:


  • 方法 1:安装完整的 PostgreSQL 服务器(推荐)
  • 一、进入官网;二、安装;三、初始化 PostgreSQL;四、安装过程中大概会遇到的问题
  • 方法 2:仅安装 PostgreSQL 客户端库(无需安装服务器);包含步骤、验证安装、在 Python 中使用 psycopg 的注意事项
  • PostgreSQL 的核心特点;PostgreSQL 适合的场景;总结一句话




方法 1:安装完整 PostgreSQL 服务器

这是最简单的路线,装 PostgreSQL 的时候会自动把 libpq 库和开发文件一起带上,不用另外补。

第一步:进入官网下载

访问 PostgreSQL 官方下载页面 PostgreSQL: Downloads,选择适合你系统的版本(如 PostgreSQL 15.x)。




第二步:按四小步完成安装

2.1 选择安装位置




2.2 选择组件(可以默认全勾选)




2.3 设置密码

给默认的 postgres 用户设置密码,示例里填的是 123456。



后面除了个别步骤,全部点【next】就行。



系统语言和地域建议保持默认。这里有个真实的坑:如果选了中文,后面大概率会出问题,我第一次选中文就报错了,只好卸载重装。





2.4 安装完成

装完之后,libpq 库会自动包含在下面这些目录里:
  1. # libpq 动态链接库(DLL)
  2. D:\computer_soft\PostgreSQL\bin\libpq.dll
  3. # 头文件(C 头文件)
  4. D:\computer_soft\PostgreSQL\bin\include
复制代码

到这里就算装好了,最后那个启动选项勾掉就行。



第三步:初始化 PostgreSQL




第一次打开 pgAdmin 会提示设置密码。这个密码是 pgAdmin 自己的密码,以后连接服务器时如果要保存密码,就会被 pgAdmin 用它加密和解密。注意这里输入的并不是安装过程中给超级用户 postgres 设置的那个密码,两个是分开的。



登录进去就能看到数据库界面了。




第四步:安装中常碰到的两类问题

有朋友下载完找不到对应的 Server 服务,那是下载过程出了差错,我第一次也遇到过。建议直接删掉重新下载,否则是跑不起来的。



另一类是编码报错。



出现这个错误的原因,大概是你电脑的登录用户名用的是中文,需要改成英文。操作路径是:右击"我的电脑",点"管理"找到"计算机管理",再点"本地用户与组",找到当前登录账号,右击重命名为英文即可。



方法 2:只装客户端库,不装服务器

如果不需要完整的 PostgreSQL 服务,可以直接下载独立的客户端库。

三个步骤


  • 下载 PostgreSQL 客户端库 访问 EDB(EnterpriseDB)的独立客户端工具下载页面,下载名为 postgresql-15.x-x-windows-x64-binaries.zip 的压缩包。
  • 解压文件 把压缩包解压到目标目录,例如 C:\pgsql。
  • 配置环境变量 把 libpq.dll 所在的路径加到系统环境变量 PATH 里:
          
    1. # 假设解压到 D:\pgsql
    2. D:\pgsql\bin
    复制代码


验证安装


  • 检查 libpq.dll 打开命令提示符,运行下面这条命令确认 libpq.dll 是否存在:
          
    1. where libpq.dll
    复制代码
       输出应该类似:
          
    1. C:\Program Files\PostgreSQL\15\bin\libpq.dll
    复制代码
  • 检查头文件 确认头文件目录(如 C:\Program Files\PostgreSQL\15\include)下面有这些文件:
          
    1. libpq-fe.h
    复制代码


在 Python 里用 psycopg 的注意事项

如果用 Python 库 psycopg(psycopg2 或 psycopg3),要保证:


  • 系统能找到 libpq.dll。遇到 ImportError 时,把 PostgreSQL 的 bin 目录(如 C:\Program Files\PostgreSQL\15\bin)加进 PATH 环境变量;
  • 直接使用 psycopg[binary] 包(推荐):
          
    1. pip install psycopg[binary]
    复制代码


PostgreSQL 的八个核心特点

PostgreSQL(常简称为 Postgres)是一款功能强大、开源免费的对象—关系型数据库管理系统(ORDBMS)。

1. 标准 + 扩展能力极强


  • 100% 支持 SQL 标准(SQL:2023)
  • 既可以像传统数据库一样用,也能扩展成 NoSQL、文档库、图数据库之类的用法。


2. 强大的复杂查询能力


  • 原生支持下面这几类查询:

    • 子查询
    • 窗口函数(OVER() 等)
    • 公用表表达式(CTE)
    • 并行查询

  • 查询优化器很聪明,适合大数据分析和复杂业务系统。


3. 原生支持 JSON / JSONB(半结构化数据)


  • 可以直接当文档数据库用,甚至能顶替 MongoDB;
  • JSONB 支持索引和全文搜索,非常强。


4. 扩展机制灵活


  • 可以动态加载插件,比如:

    • PostGIS:地理信息(GIS)扩展
    • pg_trgm:模糊搜索、字符串相似度匹配
    • timescaledb:时序数据库扩展
    • uuid-ossp:自动生成 UUID

  • 甚至还能自己定义数据类型、函数、操作符、索引方式。


5. 支持多种数据类型(对象关系特性)


  • 支持数组、枚举、复合类型、范围类型(range)、网络地址、几何类型等;
  • 比如可以把某个字段定义成 [1,2,3] 这样的数组类型,查询时跟操作普通表一样。


6. 事务一致性好(ACID + MVCC)


  • 支持真正的并发控制(多版本并发控制 MVCC);
  • 读写不需要加锁(不像 MySQL 的 InnoDB 需要加行锁)。


7. 多语种存储过程与函数支持


  • 支持用 SQL、PL/pgSQL、Python(plpython)、JavaScript(plv8)、C、R 等多种语言写函数。


8. 开源、社区活跃、能长期用下去


  • 文档、教程、社区资源非常充足;
  • 版本稳定,每个版本都有长期的更新维护周期;
  • Google、Apple、Reddit、GitLab 这些公司都在大规模使用。


哪些场景适合用 PostgreSQL

场景是否适合分析复杂业务系统✅ 非常适合支持复杂事务、数据结构数据仓库 / BI✅ 很强并行查询优化器 + 分区JSON 文档存储✅ 比 MongoDB 更合适JSONB 支持索引、事务地理数据处理✅ 有 PostGIS 扩展非常专业时间序列数据✅ 用 TimescaleDB 扩展高效高频写入、轻事务系统⛔ MySQL 更合适PostgreSQL 更看重一致性和复杂性

总结一句话

PostgreSQL 是一款高度可靠、功能丰富、扩展灵活的数据库,既能当传统 RDBMS 用,也能胜任 NoSQL 和数据分析任务。

Windows 上装 PostgreSQL,最难的不是安装本身,而是分清"安装时 postgres 的密码"和"pgAdmin 首次启动密码"是两回事。

编辑提示:只做开发不想跑服务的话直接走方法 2,多装一个 Server 反而要给中文用户名和 5432 端口额外操心。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表