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,需要与应用开发人员进行沟通。

相关推荐
风向决定发型丶17 小时前
redis集群搭建
数据库·redis·缓存
wei_shuo18 小时前
KES 扩展与插件开发实战:自定义函数、触发器与第三方插件集成
数据库·kes
风中芦苇啊19 小时前
从直接生成到受控配置:新一代图表Agent的SQL安全生成范式
数据库·sql·安全
吴声子夜歌19 小时前
SQL进阶——窗口函数
数据库·sql
周杰伦的稻香19 小时前
MySQL8.0+中引入的SET_USER_ID权限迭代SUPER权限指定 DEFINER
数据库·mysql
动恰客流统计20 小时前
客流统计如何结合AI分析?从传统计数到智能决策的技术升级路径
数据库·人工智能·边缘计算
宠友信息20 小时前
多端数据互通场景下Spring Boot仿小红书源码结构设计
数据库·spring boot·redis·缓存·架构
风曦Kisaki20 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
影寂ldy21 小时前
C# try-catch 异常处理全套笔记
服务器·数据库·c#
长不胖的路人甲21 小时前
Redis 缓存的数据持久化方案讲解
数据库·redis·缓存