@@ -555,7 +555,8 @@ func (c *collector) getReplicationv10() {
555555 COALESCE(EXTRACT(EPOCH FROM flush_lag)::bigint, 0),
556556 COALESCE(EXTRACT(EPOCH FROM replay_lag)::bigint, 0),
557557 COALESCE(sync_priority, -1),
558- COALESCE(sync_state, '')
558+ COALESCE(sync_state, ''),
559+ pid
559560 FROM pg_stat_replication
560561 ORDER BY pid ASC`
561562 rows , err := c .db .QueryContext (ctx , q )
@@ -571,7 +572,7 @@ func (c *collector) getReplicationv10() {
571572 if err := rows .Scan (& r .RoleName , & r .ApplicationName , & r .ClientAddr ,
572573 & r .BackendStart , & backendXmin , & r .State , & r .SentLSN , & r .WriteLSN ,
573574 & r .FlushLSN , & r .ReplayLSN , & r .WriteLag , & r .FlushLag , & r .ReplayLag ,
574- & r .SyncPriority , & r .SyncState ); err != nil {
575+ & r .SyncPriority , & r .SyncState , & r . PID ); err != nil {
575576 log .Fatalf ("pg_stat_replication query failed: %v" , err )
576577 }
577578 r .BackendXmin = int (backendXmin .Int64 )
@@ -595,7 +596,8 @@ func (c *collector) getReplicationv9() {
595596 COALESCE(flush_location::text, ''),
596597 COALESCE(replay_location::text, ''),
597598 COALESCE(sync_priority, -1),
598- COALESCE(sync_state, '')
599+ COALESCE(sync_state, ''),
600+ pid
599601 FROM pg_stat_replication
600602 ORDER BY pid ASC`
601603 if c .version < 90400 { // backend_xmin is only in v9.4+
@@ -613,7 +615,7 @@ func (c *collector) getReplicationv9() {
613615 var backendXmin sql.NullInt64
614616 if err := rows .Scan (& r .RoleName , & r .ApplicationName , & r .ClientAddr ,
615617 & r .BackendStart , & backendXmin , & r .State , & r .SentLSN , & r .WriteLSN ,
616- & r .FlushLSN , & r .ReplayLSN , & r .SyncPriority , & r .SyncState ); err != nil {
618+ & r .FlushLSN , & r .ReplayLSN , & r .SyncPriority , & r .SyncState , & r . PID ); err != nil {
617619 log .Fatalf ("pg_stat_replication query failed: %v" , err )
618620 }
619621 r .BackendXmin = int (backendXmin .Int64 )
0 commit comments