首页 > 解决方案 > postgresql 9.6 意外终止和重启

问题描述

我们有一个 postgresql 9.6.14 postgres 服务器,我们在其中运行一个查询,导致 postgresql 进程终止并重新启动 postgresql 进程。

我们不知道为什么会这样。

当我们使用另一个过滤器值查询它时,查询运行良好,所以我猜它与它正在查询的数据量有关。但这真的会导致整个 postgres 服务的重启吗?所以可能是内存问题?

postgresql.log

2019-07-12 17:54:13.487 CEST [6459]: [7-1] user=,db=,app=,client= LOG: 服务器进程 (PID 11064) 被信号 11 终止: 分段错误 2019-07 -12 17:54:13.487 CEST [6459]: [8-1] user=,db=,app=,client= 详细信息:失败的进程正在运行:

2019-07-12 17:54:13.487 CEST [6459]: [9-1] user=,db=,app=,client= LOG: 终止任何其他活动服务器进程 2019-07-12 17:54:13.488 CEST [11501]:[1-1] user=hg,db=test,app=[unknown],client=172.31.0.43 警告:由于另一个服务器进程崩溃而终止连接 2019-07-12 17:54:13.488 CEST [11501]: [2-1] user=hg,db=test,app=[unknown],client=172.31.0.43 DETAIL: postmaster 已命令此服务器进程回滚当前事务并退出,因为另一个服务器进程异常退出并且可能损坏的共享内存。2019-07-12 17:54:13.488 CEST [11501]: [3-1] user=hg,db=test,app=[unknown],client=172.31.0.43 提示:稍后您应该能够重新连接到数据库并重复您的命令。2019-07-12 17:54:13.488 CEST [8889]: [2-1] user=hg,db=_test,app=[unknown],

select stat.*,
         (
              Select
                1
              From
                table1 a, table2 pg
              Where
                a.field_1::Text = stat.field_1::Text And
                a.field_2::Text = stat.field_2::Text And 
                stat.field_3::Text = pg.field_3::Text And 
                a.field_4= pg.field_4
              limit 1
          )
          from table3 stat
          where field_1= 'xyz';        

标签: postgresqlpostgresql-9.6

解决方案


推荐阅读