**1. 经过分析,发现出现这个问题的原因是这个表一直在进行频繁的 
update 操作,频繁的 update 和 delete 操作会导致表内有大量的碎片,
数据其实没有被真正的物理删除,导致查询的高水位线问题。**
3、最终的解决方案:

​ 1. 写定时任务做定期的表磁盘清理

执行步骤:

【注意】,在生产环境下,如果表数据非常大的情况下,不要轻易执行此操作,会导致表的长时间不可以

-- 1、查看表空间大小
select pg_size_pretty(pg_relation_size('表名'));
-- 2、优化表空间
-- 2.1、维护数据库磁盘,释放空间(注意,在生产环境下,
-- 如果表数据非常大的情况下,不要轻易执行此操作,会导致表的长时间不可用)
vacuum FULL 表名;
-- 2.2、重建索引,替换查询效率
REINDEX TABLE 表名;

清理磁盘空间碎片VACUUM

1、查询表占用空间大小
--数据库中单个表的大小(不包含索引)
select pg_size_pretty(pg_relation_size('表名'));
--查出所有表(包含索引)并排序
SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC limit 20
--查出表大小按大小排序并分离data与index
SELECT
table_name,
pg_size_pretty(table_size) AS table_size,
pg_size_pretty(indexes_size) AS indexes_size,
pg_size_pretty(total_size) AS total_size
FROM (
SELECT
table_name,
pg_table_size(table_name) AS table_size,
pg_indexes_size(table_name) AS indexes_size,
pg_total_relation_size(table_name) AS total_size
FROM (
SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
FROM information_schema.tables
) AS all_tables
ORDER BY total_size DESC
) AS pretty_sizes
2、VACUUM进行表空间回收
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ 表名 ] 
选择"完全"清理,这样可以恢复更多的空间,但是花的时间更多并且在表上施加了排它锁。
FREEZE
选择激进的行"冻结"。指定 FREEZE 相当于执行 VACUUM 时将 vacuum_freeze_min_age 参数设为零。FREEZE 选项将在未来的版本中被取消,并且反对使用,你应当使用设置正确的参数值的方法来达到目的。
VERBOSE
为每个表打印一份详细的清理工作报告
ANALYZE
更新用于优化器的统计信息,以决定执行查询的最有效方法。
table
要清理的表的名称(可以有模式修饰)。缺省时是当前数据库中的所有表。
column
要分析的具体的字段名称。缺省是所有字段。

参考文章:https://www.cnblogs.com/VicLiu/p/12011410.html

问题在表数据不多的情况下(1w条以下),简单的对表进行查询,但查询非常的缓慢1、解决方案:1、排查初期以为的查询语句的问题,后面直接新建了一张表做替换,问题暂时解决。2、问题原因:1. 经过分析,发现出现这个问题的原因是这个表一直在进行频繁的 update 操作,频繁的 update 和 delete 操作会导致表内有大量的碎片,数据其实没有被真正的物理删除,导致查询的高水位线问题。3、最终的解决方案:​ 1. 写定时任务做定期的表磁盘清理执行步骤:【注意】,在生产环境下,如果表数据非 CSDN-Ada助手: 恭喜您撰写了第20篇博客!阅读您的标题,我对您所分享的关于postgis的使用感到非常兴奋。您的博客内容似乎解决了我一直以来对于点、线、面以及范围查询的疑惑。这对于我来说真是太有帮助了! 在继续创作之前,我想向您提出一个建议。或许您可以考虑在下一篇博客中探讨更多与postgis相关的高级应用,例如如何进行空间分析、如何使用postgis进行地理数据可视化等等。我相信这将进一步丰富您的博客内容,并为读者提供更多有关postgis的实用技巧。再次感谢您的分享,期待您的下一篇博客! python【anaconda安装】多环境配置,环境迁移,离线环境迁移,多版本python并存 CSDN-Ada助手: 恭喜您撰写了第18篇博客!标题看起来非常有趣而且实用。您对于anaconda安装以及多环境配置、环境迁移、离线环境迁移和多版本python并存的讲解肯定会对很多读者有所帮助。不仅如此,您的创作还着眼于实际问题,并给出了解决方案,这让您的博客更具价值。 在下一步的创作中,我建议您可以考虑探索一些高级主题,例如如何优化环境配置以提高python程序的性能,或者如何使用anaconda进行机器学习和数据科学项目。这些主题在当前的技术社区中非常热门,而且读者对于这方面的知识渴望也很大。当然,这只是一个建议,您可以根据自己的兴趣和经验来选择下一篇博客的主题。再次恭喜您的持续创作,期待您的下一篇精彩博客! python使用psycopg出现 libpq version 10 or above 问题解决,postgresql,人大金仓(Kingbase) CSDN-Ada助手: 恭喜您写了第19篇博客!您的文章题目“python使用psycopg出现 libpq version 10 or above 问题解决,postgresql,人大金仓(Kingbase)”非常有吸引力。我很高兴看到您持续创作,分享您的经验和解决问题的方法。 在下一步的创作中,我建议您可以继续深入探索与python、postgresql和人大金仓相关的主题。同时,您也可以考虑分享一些您在使用psycopg时遇到的其他常见问题和解决方案,这将对读者来说是一个很有价值的资源。谦虚的语气和分享经验的心态将使您的博客更加受欢迎。期待您的下一篇博客! java 导出word文档 需要另外找工具转doc为pdf文件 java 导出word文档 猴塞雷19: 单元格内字段过多,模板字段会很拥挤。修改导出类型为pdf,另存为pdf打不开。