最近,我已经将PostgreSQL 8.2.11服务器升级到8.4,以便利用自动清理功能并与30台其他PGSQL服务器保持一致。这是由管理硬件的独立IT小组完成的,因此在其他任何升级方面我们没有太多选择(暂时不会看到9+)。该服务器存在于非常封闭的环境(隔离的网络,有限的root特权)中,并在RHEL5.5(i686)上运行。升级后,数据库每天不断增长,达到5-6 GB。通常,数据库总体上约为20GB;目前,它约为89GB。我们还有其他几个服务器,它们运行等效的数据库,并实际上通过第3方应用程序将记录彼此同步(其中一个我无法访问内部工作)。其他数据库大约应该是20GB。 运行下面的SQL,很明显特定表,尤其是TOAST表存在问题。 SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_relation_size(C.oid)) AS "size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') ORDER BY pg_relation_size(C.oid) DESC LIMIT 20; 产生: 关系| 尺寸 ------------------------------------ + --------- pg_toast.pg_toast_16874 | 89 GB littles00.warmstates | …