2025年9月25日: PostgreSQL 18 发布!

pgAdmin III v1.8.0 发布

发布于 2007-10-22

pgAdmin 开发团队很高兴地宣布 pgAdmin 1.8.0 的发布。这是一个开源的图形化 PostgreSQL 管理工具,支持 Windows、Linux、FreeBSD、Mac OS X 和 Solaris 操作系统,现已提供源代码和多种二进制格式供下载。

http://www.pgadmin.org/download/

v1.8.0 凝聚了近一年的开发和测试工作,为您带来了大量新功能和改进,包括:

主要特点

  • 在查询工具中添加宏功能。
  • 添加对多参数聚合函数(multi-parameter aggregates)的支持。
  • 将视图列视为一级公民。在树状视图中显示它们,并允许查看其属性页面。允许编辑默认值和注释,并在视图的逆向工程 SQL 中反映这些更改。
  • 将 EnterpriseDB 的 pl/pgsql 和 EDB-SPL 调试器集成到 pgAdmin 中。
  • 添加对 PostgreSQL 8.3+ 版本中枚举类型(enums)的支持。
  • 将目录(catalogs)与模式(schemas)分开显示,并且不再将它们视为系统对象(可以使用显示选项隐藏)。仅在信息模式(information_schema)以及 EDB 的 sys 和 dbo 目录等伪系统目录中显示表和视图(作为“目录对象”)。锁定功能以防止提供创建/编辑/删除选项。
  • 在 PostgreSQL 中将所有函数和过程视为“函数”,并将 EnterpriseDB edbspl 函数中返回 void 的函数归类为“过程”。
  • 添加一组选项,允许用户从树状视图中隐藏选定的对象类型。请注意,新的默认设置将隐藏不太常用的对象,例如转换(casts)、语言(languages)、聚合函数(aggregates)、运算符(operators)等。
  • 支持 PostgreSQL 8.3 版本中的运算符族(Operator Families)的浏览器。
  • 允许在 PostgreSQL 8.3 版本中为函数预设 GUC 变量。

增强功能

  • 通过重写一些效率极低的现有代码,加快加载函数和过程的速度。
  • 对数据库浏览器代码进行了大量修改,以确保对对象的更改能够正确地反映在主窗口中。此外,在刷新操作期间,尽可能保留子节点的展开/折叠状态。
  • 在报表工具(Report Tool)中添加一个选项,用于在默认浏览器中打开输出文件。
  • 添加了用于显示和隐藏 UI 元素的键盘快捷键。
  • 如果查询工具的输出窗格当前被隐藏,则在查询完成后显示它。
  • 在刷新编辑网格时保留列宽。
  • 移除了捆绑的 PostgreSQL/Slony 文档副本,以便更容易地本地化其余部分。取而代之的是,允许用户独立使用本地或在线的 PostgreSQL、EnterpriseDB 或 Slony 文档副本。
  • 添加了一个新的命令行选项 (-f ),用于在使用 -q 或 -qc 时自动打开 SQL 脚本。
  • 为表和索引添加了 fillfactor 支持。
  • 添加了一个新的命令行选项 (-cp ),用于允许直接编辑 pgpass 文件。
  • 为查询工具添加了自动缩进功能。
  • 为查询工具添加了一个显示缩进指南的选项。
  • 允许在 SQL 编辑器中使用空格代替制表符,并确保可以合理地设置宽度。
  • 允许在查询工具中检测和转换行结束符格式。
  • 添加对 PostgreSQL 8.3+ 版本中函数成本和行数估算的支持。
  • 显示 is_called 序列标志。
  • 在查询工具中发生错误时,将光标定位到错误位置。确保该行可见。
  • 为 edbspl 触发器使用 Oracle 风格的语法。
  • 使用与 Oracle 兼容的语法创建和逆向工程 edbspl 过程。
  • 在查询工具中,查询之间保留列宽。
  • 使用 EnterpriseDB 的工具来转储和恢复 EDB 数据库,以确保能够处理非 PG 扩展。
  • 添加对 EnterpriseDB 上包(packages)的支持。
  • 添加对 EnterpriseDB 上公共同义词(public synonyms)的支持。
  • 使用 pg_statindex(如果可用)来选择性地按表显示附加的索引统计信息。也适用于索引约束。
  • 允许安装时重新品牌化(re-branding)。这允许分发 pgAdmin 的重塑版本而无需修改代码,而是显示对原始 pgAdmin 的引用。还增加了对异形启动画面(shaped splash screens)的支持。
  • 用创建分发磁盘映像的代码替换了 Mac 安装程序。
  • 允许备份整个服务器。
  • 允许备份全局对象。
  • 添加了一个“大师提示”(guru hint),以警告用户存储密码的后果。
  • 添加了选项以启用/禁用触发器,可以单独禁用,也可以按表禁用。
  • 使用 pg_stattuple(如果可用)来选择性地按表显示附加的表统计信息。
  • 为 pgAgent 作业添加了“立即运行”(Run Now)选项。
  • 在应用程序退出时保留剪贴板内容。
  • 添加了一个选项,用于在查询工具中显示 NULL 值。
  • 记住上次使用的保存定义文件名。
  • 记住上次使用的备份/恢复文件名。
  • 允许在创建时为用户、角色和数据库设置 GUC。

Bug 修复

  • 修复了 UTF8 选项在文件读写查询时无效的问题,并修复了文件保存时崩溃的问题。
  • 确保文件在保存前可以转换为所需编码。
  • 在同一会话中,在重新运行备份或恢复到/从同一文件之前,警告用户并允许她中止(如果第一次尝试返回错误或警告,则可能发生)。
  • 确保在用户名包含非 ASCII 字符时,Windows 上可以正确保存日志文件和 pgpass 文件。
  • 确保在编辑网格中始终允许输入最大字符串长度。
  • 按字母顺序对服务器列表进行排序。
  • 修复了在编辑布尔值时按下 Delete 键导致编辑网格崩溃的问题。
  • 正确将第二个及后续的 postgresql.conf 文件加载到配置编辑器中。
  • 在查询工具中,在从“最近文件”菜单打开文件之前,提示用户保存更改。
  • 不要尝试检测 8.1 以下版本是否正在运行集成式自动真空(integrated autovacuum)。
  • 显示索引约束的约束 OID,而不是索引 OID。将索引 OID 添加为新属性。
  • 确保密码更改对话框与存储的密码配合使用。
  • 在编辑网格的单元格编辑器中正确复制和粘贴数据。
  • 避免为触发器创建图形化解释节点,因为它们不是计划的一部分,并且会弄乱布局。
  • 修复数据类型(例如“timestamp(0) without timezone”)大小为 0 时的逆向工程。
  • 更一致地处理序列值的重置。
  • 函数/过程签名不包含 OUT 参数。修复了此疏忽,并清理了大量相关代码。
  • 确保可以在 Greenplum 数据库上管理 pgAgent 作业。
  • 修复表、索引和索引约束的表空间属性组合框,允许更改表空间。
  • 重构查询工具的 execQuery 函数,以防止 pgAdmin 在同时执行两个长时间运行的查询时冻结。

代码清理/可维护性

  • 删除大量几乎或完全无用的调试代码。
  • 重构代码以移除使用 listview 而非 grid 构建查询工具的支持。
  • 重构代码以移除数据库基类。
  • 移除对我们不再支持的 wxWidgets 版本的特定代码支持。
  • 移除对非 Unicode 构建的过时支持。

以及许多其他调整、改进和错误修复。

我想借此机会感谢所有为本次发布贡献时间的人们,包括开发、测试、翻译和打包。

Dave Page

pgAdmin 开发团队

本文已从先前版本的 PostgreSQL 网站迁移。对于迁移过程中可能出现的任何格式问题,我们深表歉意。