
PostgreSQL v18.0.1 for Windows 64位 官方最新正式版(附安装教程)
- 大小:351MB
- 分类:数据服务器
- 环境:Windows
- 更新:2025-09-28
热门排行
简介
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL 全球开发组发布了所有受支持的 PostgreSQL 版本的更新,包括 16.3、15.7、14.12、13.15 和 12.19。此版本修复了一个安全漏洞以及过去几个月报告的超过 55 个错误。,这是世界上最先进的开源数据库的最新版本,需要的朋友可下载试试!
PostgreSQL 18 通过新的 I/O 子系统提升了所有规模工作负载的性能,该子系统在从存储读取数据时表现出高达 3 倍的性能提升,同时增加了可以使用索引的查询数量。此版本使主要版本的升级更加顺畅,加快了升级速度,并减少了升级完成后达到预期性能所需的时间。开发人员也可以从 PostgreSQL 18 的功能中受益,包括在查询时计算值的虚拟生成列,以及提供更好的索引和读取性能的数据库友好型 uuidv7() 函数。PostgreSQL 18 支持 OAuth 2.0 认证,使与单点登录 (SSO) 系统的集成更加容易。
介绍
PostgreSQL对索引和查找系统(lookup system)进行了重大改进,使大型数据库受益,包括节省了空间并提高了索引的性能,使用聚合或分区使查询的响应时间更快,使用增强的统计信息时更好的查询计划等等。
PostgreSQL 除具有高度要求的功能(如并行清理 和增量排序)外,还为大小工作量提供了更好的数据管理体验,并为日常管理进行了优化,为应用程序开发人员提供了更多便利,并增强了安全性。
PostgreSQL是一种创新的数据管理系统,以其可靠性和健壮性著称,得益于全球开发者社区超过25年的开源开发,它 已成为各种规模组织首选的开源关系数据库。
安装方法
1、下载运行postgresql-windows-x64.exe,如图
2、选择安装路径,默认C盘
3、下一步,输入密码,端口默认即可
4、next进行安装,稍等片刻即可
5、安装完成后去掉勾选不启动。打开 pgAdmin 4
6、点击左侧的 Servers > Postgre SQL
7、输入密码,点击 OK 即可
8、开始菜单中打开 SQL Shell(psql)
9、如图,输入回车、密码即可
软件特点
持续性能表现
在先前PostgreSQL版本的基础上,PostgreSQL 可以有效地处理标准数据库索引B-tree索引中的重复数据。这降低了B树索引所需的总体空间使用量,同时提高了整体查询性能。
PostgreSQL 引入了增量排序,其中查询中来自较早步骤的已排序数据可以加快后续步骤的排序。此外,PostgreSQL现在可以使用扩展的统计系统(可通过访问CREATESTATISTICS)来为带有OR子句和IN/ANY查找列表的查询创建改进的计划。
在PostgreSQL 中,更多类型的聚合查询和分组查询可以利用PostgreSQL的高效哈希聚合功能,因为具有大聚合的查询不必完全容纳在内存中。带有分区表的查询的性能得到了提高,因为现在有更多情况可以裁剪(prune)分区并且可以直接关联(join)分区。
管理优化
Vacuuming是PostgreSQL管理的重要组成部分,它使数据库能够在更新和删除行之后回收存储空间。尽管以前的PostgreSQL版本已经完成了减轻清理开销的工作,但是此过程也可能带来管理上的挑战。
PostgreSQL通过引入用于索引的parallelizedvacuum 继续改进vacuuming system。除了它提供的清理性能优势外,由于管理员可以选择要运行的并行workers的数量,因此可以针对特定的工作负载调整此新功能的使用。除了这些性能优势之外,数据插入现在还可以触发autovacuum process。
复制槽(用于防止在复制副本接收到WAL预写日志之前将其删除)可在PostgreSQL 中进行调整,以指定要保留的WAL文件的最大数量,并有助于避免磁盘空间不足错误。
PostgreSQL 还添加了更多管理员可以监视数据库活动的方式,包括从参考WAL使用情况统计信息EXPLAIN,流式基础备份的进度以及ANALYZE命令的进度。另外,可以使用新pg_verifybackup命令去检查pg_basebackup输出的完整性。
方便应用程序开发
PostgreSQL 使使用来自不同数据源的PostgreSQL数据类型更加容易。此版本将datetime()功能添加到其SQL / JSON路径支持中,该功能将有效的时间格式(例如ISO 8601字符串)转换为PostgreSQL本地类型。此外,UUID v4生成功能gen_random_uuid()函数现已可用,而无需安装任何扩展。
PostgreSQL的分区系统更加灵活,因为分区表完全支持逻辑复制和before行级触发器。
PostgreSQL 中的FETCH FIRST语法已扩展为包含该WITH TIES子句。指定时,WITH TIES包括基于ORDER BY子句的“ tie”与结果集中最后一行的任何行。
安全提升
PostgreSQL的扩展系统是其健壮性的关键组成部分,因为它允许开发人员扩展其功能。在以前的版本中,新的扩展只能由数据库超级用户安装。为了更轻松地利用PostgreSQL的可扩展性,PostgreSQL 添加了“可信扩展”的概念,该概念允许数据库用户安装超级用户标记为“可信”的扩展。某些内置扩展标记默认为可信,包括pgcrypto,tablefunc,hstore等等。
对于需要安全身份验证方法的应用程序,PostgreSQL 允许客户端在使用SCRAM身份验证时要求通道绑定(channel binding),并且PostgreSQL外部数据包装器(postgres_fdw)现在可以使用基于证书的身份验证。
更新日志
介绍异步 I/O
PostgreSQL 之前依赖于操作系统读取预取机制来加速数据检索。然而,由于操作系统缺乏对数据库特定访问模式的了解,它们无法始终预测需要哪些数据,导致许多工作负载的性能不理想。
PostgreSQL 18 引入了一个新的异步 I/O (AIO) 子系统,旨在解决这一限制。AIO 使 PostgreSQL 能够并发地发出多个 I/O 请求,而不是按顺序等待每个请求完成。这扩展了现有的预读取并提高了整体吞吐量。PostgreSQL 18 支持的 AIO 操作包括顺序扫描、位图堆扫描和 vacuum。基准测试在某些情况下展示了高达 3 倍的性能提升。
新的io_method 设置允许您在AIO方法之间切换,包括worker和io_uring,或者您可以选择通过sync 设置保持当前的PostgreSQL行为。现在有更多参数需要考虑调整AIO,您可以在文档中了解更多。
更快的升级,更好的升级后性能
PostgreSQL 的一个关键功能是生成和存储 统计信息,这些信息帮助 PostgreSQL 选择最高效的查询计划。在 PostgreSQL 18 之前,这些 统计信息不会在主要版本升级时 Carry Over,这可能导致在繁忙的系统上 查询性能显著下降,直到ANALYZE 完成运行。PostgreSQL 18 引入了在主要版本升级时保持规划器 统计信息的能力,这有助于升级后的集群在升级后更快地达到预期性能。
此外,pg_upgrade,一个执行主要版本升级的工具,包含在PostgreSQL 18中的几个增强功能,例如当数据库包含许多对象(如表和序列)时升级速度更快。此版本还允许pg_upgrade根据--jobs标志的设置并行处理其检查,并添加了 --swap标志,该标志将交换升级目录而不是复制、克隆或链接文件。
查询和一般性能增强
PostgreSQL 18通过自动加速你的工作负载来进一步提升查询性能。此版本引入了"跳过扫描"查找功能,应用于多列B树索引 ,这提高了查询的执行时间,这些查询省略了=一个或多个前缀索引列上的条件。它还可以优化使用OR条件的查询WHERE,以使用索引,从而显著加快执行速度。此外,PostgreSQL 18还对如何计划和执行表连接进行了大量改进,从提升哈希连接的性能到允许合并连接使用增量排序。PostgreSQL 18还支持并行构建 GIN索引,连接B树和 BRIN索引以支持此功能。
此版本还基于PostgreSQL对硬件加速的支持,包括对ARM NEON和SVE CPU内联函数的支持popcount ,该函数被bit_count 和其他内部功能使用。
提升开发者体验
PostgreSQL 18 引入了虚拟生成列 ,这些列在查询时计算值而不是存储它们。现在这是生成列的默认选项。此外,存储的生成列现在可以进行逻辑复制。
此版本增加了在OLD命令中访问上一个(NEW)和当前(RETURNING)值的能力。 PostgreSQL 18还通过INSERT函数增加了UUIDv7生成的能力,让你生成按时间戳排序的随机UUID,以支持更好的缓存策略。UPDATEPostgreSQL 18包括DELETE作为MERGE的别名。uuidv7()uuidv4()gen_random_uuid()
PostgreSQL 18 增加了 时间约束 -- 范围约束 -- 用于 PRIMARY KEY 和 UNIQUE 约束 使用 WITHOUT OVERLAPS 子句,以及在 FOREIGN KEY 约束使用 PERIOD 子句。
最后,PostgreSQL 18 使得通过本地表定义来创建外部表定义变得更加容易,使用 CREATE FOREIGN TABLE ... LIKE 命令。
改进的文本处理
PostgreSQL 18 通过一些新的增强功能使文本处理更简单、更快速。此版本增加了PG_UNICODE_FAST 排序,它为大小写转换提供了完整的 Unicode 语义,同时帮助加速许多比较。这包括upper和lower 字符串比较函数以及新的casefold 不区分大小写的比较函数。此外,PostgreSQL 18 现在支持对使用LIKE非确定性排序 的文本进行比较,简化了如何执行更复杂的模式匹配。此版本还更改了全文搜索 ,使其使用集群的默认排序提供程序,而不是总是使用 libc,这可能需要您重新索引所有 全文搜索 。pg_trgm 运行后的索引pg_upgrade.
认证和安全功能
PostgreSQL 18 引入了 oauth身份验证, 使用户可以使用通过 PostgreSQL 扩展支持的 OAuth 2.0 机制进行身份验证。此外,PostgreSQL 18 包括对 FIPS 模式的验证,并添加了用于配置服务器端 TLS v1.3 加密套件的 ssl_tls13_ciphers 参数。
此版本弃用了md5密码认证,该认证将在未来的版本中被移除。如果你需要PostgreSQL基于密码的认证,请使用 SCRAM认证。 PostgreSQL 18还支持SCRAM透传认证,通过 postgres_fdw和 dblink对远程PostgreSQL实例进行认证。此外,pgcrypto 现在支持SHA-2加密用于密码哈希。
复制
PostgreSQL 18 支持在日志和pg_stat_subscription_stats视图中报告逻辑复制写冲突。此外, CREATE SUBSCRIPTION 现在默认使用并行流来应用事务,这可以帮助提高性能。 pg_createsubscriber 工具现在有一个--all标志,这样你就可以用一个命令为实例中的所有数据库创建逻辑副本。PostgreSQL 18 还允许你自动删除空闲的复制槽,以帮助防止在发布者上存储过多的写前日志文件。
维护和可观测性
PostgreSQL 18通过在常规真空操作期间主动冻结更多页面来改进其真空 策略,减少了开销,并在需要激进真空操作的情况下提供了帮助。
PostgreSQL 18增加了更多关于查询计划执行的细节EXPLAIN,该信息提供了关于查询计划执行的信息,并且在此版本中 现在自动显示在执行时访问的缓冲区(数据存储的基本单位)的数量EXPLAIN ANALYZE。此外,EXPLAIN ANALYZE 现在显示在索引扫描期间进行的索引查找次数,以及EXPLAIN ANALYZE VERBOSE 包含CPU、WAL和平均读取统计数据。PostgreSQL 18在pg_stat_all_tables 中包含更多关于真空和相关操作所花费时间的信息,以及每个连接的I/O和WAL利用率的统计数据。
其他显著变化
数据库已使用PostgreSQL 18初始化initdb 现在默认启用页面校验和。这可能会影响从非校验和启用的集群进行升级,这将要求您在使用--no-data-checksums选项时创建一个新的PostgreSQL 18集群 pg_upgrade。
PostgreSQL 18 还引入了PostgreSQL线协议的新版本(3.2),这是自PostgreSQL 7.4(2003年)以来的第一个新协议版本。 libpq 仍然默认使用版本3.0,而客户端(例如,驱动程序、连接池、代理)将添加对新协议版本的支持。
附加功能
PostgreSQL 18 中添加了许多其他的新功能和改进,这些功能和改进可能对您的用例也有帮助。请参阅 发行说明,以获取新功能和更改功能的完整列表。
关于PostgreSQL
PostgreSQL是世界上最先进的开源数据库,拥有全球数千名用户、贡献者、公司和组织组成的社区。自40多年前在加州大学伯克利分校诞生以来,PostgreSQL一直以无与伦比的发展速度前行。PostgreSQL成熟的功能集不仅与顶级的商业数据库系统相当,而且在高级数据库功能、可扩展性、安全性和稳定性方面超越了它们。