-- start_matchsubs
# entry db matches
m/\s+\(entry db(.*)+\spid=\d+\)/
s/\s+\(entry db(.*)+\spid=\d+\)//

# remove beginning output of gpconfig
m/^\d+.*gpconfig.*-\[INFO\]:-/
s/^\d+.*gpconfig.*-\[INFO\]:-//

# line number in error message
m/\(cdbgang_async\.c\:\d+\)/
s/\(cdbgang_async\.c:\d+\)/\(cdbgang_async\.c:LINE_NUM\)/

# ignore OID and file/line number diffs for invalid toast indexes
m/^ERROR:  no valid index found for toast relation/
s/with Oid \d+ \(.*\)/with Oid OID/

# messages from local deadlock detector
# ERROR:  deadlock detected  (seg1 127.0.1.1:25433 pid=29851)
# DETAIL:  Process 29851 waits for ShareLock on transaction 1009; blocked by process 29968.
# Process 29968 waits for ShareLock on transaction 1008; blocked by process 29851.

m/^ERROR:  FTS detected connection lost during dispatch to/
s/seg\d+ [0-9.]+:\d+ pid=\d+/SEG IP:PORT pid=PID/

m/^ERROR:  deadlock detected  (seg\d+ [0-9.]+:\d+ pid=\d+)/
s/seg\d+ [0-9.]+:\d+ pid=\d+/SEG IP:PORT pid=PID/

# (slice1 172.17.0.2:25432 pid=23848)
m/(slice\d+ [0-9.]+:\d+ pid=\d+)/
s/(slice\d+ [0-9.]+:\d+ pid=\d+)//

# (172.17.0.2:25432 pid=23848)
m/([0-9.]+:\d+ pid=\d+)/
s/([0-9.]+:\d+ pid=\d+)//

# requested 26376 bytes 

m/requested \d+ bytes/
s/requested \d+ bytes//

m/^DETAIL:  Process \d+ waits for ShareLock on transaction \d+; blocked by process \d+./
s/^DETAIL:  Process \d+ waits for ShareLock on transaction \d+; blocked by process \d+./DETAIL:  Process PID waits for ShareLock on transaction XID; blocked by process PID./

# For resource queue deadlock
m/.*Process \d+ waits for ExclusiveLock on resource queue \d+; blocked by process \d+./
s/.*Process \d+ waits for ExclusiveLock on resource queue \d+; blocked by process \d+./Process PID waits for ExclusiveLock on resource queue OID; blocked by process PID./

m/^Process \d+ waits for ShareLock on transaction \d+; blocked by process \d+./
s/^Process \d+ waits for ShareLock on transaction \d+; blocked by process \d+./Process PID waits for ShareLock on transaction XID; blocked by process PID./

# For resource queue deadlock
m/^Process \d+ waits for ShareUpdateExclusiveLock on relation \d+ of database \d+; blocked by process \d+./
s/^Process \d+ waits for ShareUpdateExclusiveLock on relation \d+ of database \d+; blocked by process \d+./Process PID waits for ShareUpdateExclusiveLock on relation OID of database OID; blocked by process PID./

m/available \d+ MB/
s/available \d+ MB//

m/\(cdbdisp_async\.c\:\d+\)/
s/\(cdbdisp_async\.c:\d+\)/\(cdbdisp_async\.c:LINE_NUM\)/

# remove WAL details from pg_waldump output
m/tx:\s+\d+/
s/tx:\s+\d+/tx: ##/

m/lsn: \d\/[0-9a-fA-F]+, prev \d\/[0-9a-fA-F]+/
s/lsn: \d\/[0-9a-fA-F]+, prev \d\/[0-9a-fA-F]+/lsn: #\/########, prev #\/########/

m/rel \d+\/\d+\/\d+/
s/rel \d+\/\d+\/\d+/rel ####\/######\/######/

-- end_matchsubs
