pgsql_tmp文件夹体积快速增加

文章目录

环境

系统平台:N/A

版本:4.1.1

症状

/xxx/data/base/pgsql_tmp 该文件夹下,临时文件数量及体积快速增加。重启数据库会使临时文件被删除,一段时间后临时文件再次出现爆满的情况。

问题原因

执行复杂SQL未能正常结束,导致产生的临时文件未自动删除,临时文件数量和体积增加占用了大量磁盘空间。

解决方案

根据文件的命名方式,通过pid查询产生临时文件的SQL。

sql 复制代码
-rw------- 1 highgo highgo 3.7M 5月  14 16:09 pgsql_tmp2542.0

-rw------- 1 highgo highgo  19M 5月  14 16:09 pgsql_tmp2456.0

-rw------- 1 highgo highgo  16M 5月  14 16:09 pgsql_tmp2541.0

-rw------- 1 highgo highgo 152M 5月  14 16:09 pgsql_tmp2534.1

-rw------- 1 highgo highgo 270M 5月  14 16:09 pgsql_tmp2484.1

-rw------- 1 highgo highgo  90M 5月  14 16:09 pgsql_tmp2463.1

-rw------- 1 highgo highgo 144M 5月  14 16:09 pgsql_tmp2459.1

-rw------- 1 highgo highgo 165M 5月  14 16:09 pgsql_tmp2532.1

-rw------- 1 highgo highgo 192M 5月  14 16:09 pgsql_tmp2524.1

-rw------- 1 highgo highgo  98M 5月  14 16:09 pgsql_tmp2461.1



[highgo@localhost pgsql_tmp]$ du -sh pgsql_tmp2484.1

387M    pgsql_tmp2484.1

[highgo@localhost pgsql_tmp]$ du -sh pgsql_tmp2524.1

359M    pgsql_tmp2524.1



highgo=# select * from pg_stat_activity where pid='2484';

-[ RECORD 1 ]----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

datid            | 16386

datname          | test

pid              | 2484

usesysid         | 16384

usename          | test

application_name | PostgreSQL JDBC Driver

client_hostname  | 

client_port      | 42366

backend_start    | 2019-05-14 16:06:34.475507+08

xact_start       | 2019-05-14 16:06:48.812548+08

query_start      | 2019-05-14 16:06:48.814563+08

state_change     | 2019-05-14 16:06:48.814565+08

waiting          | f

state            | active

backend_xid      | 

backend_xmin     | 29879732

query            | SELECT XXX;

highgo=# select * from pg_stat_activity where pid='2524';

-[ RECORD 1 ]----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

datid            | 16386

datname          | test

pid              | 2524

usesysid         | 16384

usename          | test

application_name | PostgreSQL JDBC Driver

client_hostname  | 

client_port      | 53276

backend_start    | 2019-05-14 16:06:34.608915+08

xact_start       | 2019-05-14 16:07:25.773803+08

query_start      | 2019-05-14 16:07:25.779867+08

state_change     | 2019-05-14 16:07:25.779869+08

waiting          | f

state            | active

backend_xid      | 

backend_xmin     | 29884693

query            | SELECT XXX;



highgo=# select now();



 2019-05-14 16:13:31.244285+08

根据pid查询到,产生临时文件的语句为同一条SQL,需要与应用开发人员进行沟通。

相关推荐
jnrjian1 分钟前
B树index 的维护 Oracle
数据库·oracle
正在走向自律11 分钟前
企业级数据库存储运维实战:表空间自动创建与存储架构深度优化
运维·数据库·架构·表空间
jnrjian12 分钟前
Oracle 并发 锁
数据库
爱码小白21 分钟前
MySQL 常用数据类型的系统总结
数据库·python·算法
被摘下的星星22 分钟前
MySQL drop和delete的区别
数据库·mysql
攻城狮7号29 分钟前
面向未来的时序数据库选型指南:当数据存储遇上原生AI
数据库·人工智能·时序数据库·apache iotdb
wb18929 分钟前
企业级MySQL重习
数据库·笔记·mysql·adb·云计算
移动云开发者联盟33 分钟前
告别AI失忆!移动云大云海山数据库解锁OpenClaw云端长期记忆
数据库·人工智能
野生技术架构师1 小时前
一个简单SQL的深度解析
android·数据库·sql
麦聪聊数据1 小时前
数据库安全与运维管控(五):基于AST的SQL拦截与动态审批
运维·数据库·sql