Description
Problem description
I have a Postgres 9.6.8 with pg_pathman 1.4 working great. I patched Postgres to 9.6.12 and the OS from 7.4 to 7.6 via a "yum update" and now my queries with LEFT JOIN to a pg_pathman-managed partitioned table causes Segmentation fault and crashes Postgres instance. When pg_pathman is disabled, the query completes fine. How can I fix this? I ran make install USE_PGXS=1" and restarted Postgres, but that did not fix this error. Can you please help?
emr_prod=# SELECT 1 - count(event_date) AS result FROM (SELECT now()::date AS run_date) p LEFT JOIN historic.audit_event ON event_code = 1;
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
## when pg_pathman is disabled, the query runs fine
emr_prod=# SET pg_pathman.enable = f;
NOTICE: RuntimeAppend, RuntimeMergeAppend and PartitionFilter nodes and some other options have been disabled
SET
emr_prod=# SELECT 1 - count(event_date) AS result FROM (SELECT now()::date AS run_date) p LEFT JOIN historic.audit_event ON event_code = 1;
result
--------
1
(1 row)
### This is the output in the postgres log -
2019-04-10 21:21:47 PDT [5162]: [64-1] [] [] LOG: 00000: server process (PID 6459) was terminated by signal 11: Segmentation fault
2019-04-10 21:21:47 PDT [5162]: [65-1] [] [] DETAIL: Failed process was running: SELECT 1 - count(event_date) AS result FROM (SELECT now()::date AS run_date) p LEFT JOIN historic.audit_event ON event_code = 1;
2019-04-10 21:21:47 PDT [5162]: [66-1] [] [] LOCATION: LogChildExit, postmaster.c:3574
2019-04-10 21:21:47 PDT [5162]: [67-1] [] [] LOG: 00000: terminating any other active server processes
2019-04-10 21:21:47 PDT [5162]: [68-1] [] [] LOCATION: HandleChildCrash, postmaster.c:3294
2019-04-10 21:21:47 PDT [5162]: [69-1] [] [] LOG: 00000: all server processes terminated; reinitializing
2019-04-10 21:21:47 PDT [5162]: [70-1] [] [] LOCATION: PostmasterStateMachine, postmaster.c:3818
2019-04-10 21:21:47 PDT [7125]: [1-1] [] [] LOG: 00000: database system was interrupted while in recovery at log time 2019-04-10 21:02:56 PDT
2019-04-10 21:21:47 PDT [7125]: [2-1] [] [] HINT: If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target.
2019-04-10 21:21:47 PDT [7125]: [3-1] [] [] LOCATION: StartupXLOG, xlog.c:6076
Environment
postgres@xxx:/var/lib/pgsql> cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
emr_prod=# select * from pg_extension where extname = 'pg_pathman'; extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
------------+----------+--------------+----------------+------------+-------------------+--------------
pg_pathman | 10 | 2200 | f | 1.4 | {8738685,8738694} | {"",""}
(1 row)
emr_prod=# select version();
version
PostgreSQL 9.6.12 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
(1 row)
emr_prod=# SELECT get_pathman_lib_version();
get_pathman_lib_version
10409
(1 row)