Re: Postgres 13 signal 11: Segmentation fault tested on 2 independent machines
pinker <pinker@onet.eu>
From: pinker <pinker@onet.eu>
To: pgsql-bugs@postgresql.org
Date: 2020-10-18T21:37:27Z
Lists: pgsql-bugs
cast to text those 2 columns helped:
sut.schemaname::TEXT, sut.relname::TEXT
so this function doesn't cause segmentation fault
CREATE OR REPLACE FUNCTION vacuum_dead_size(i_now timestamp with time zone,
OUT schemaname TEXT, OUT relname TEXT, OUT total_bytes NUMERIC, OUT
dead_tup_size NUMERIC)
RETURNS SETOF RECORD
AS $$
WITH closest_metric_stat_user_tables AS (
SELECT now FROM stat_user_tables ORDER BY abs(now-$1) LIMIT 1
), closest_metric_table_sizes AS (
SELECT now FROM table_sizes ORDER BY abs(now - $1) LIMIT 1
)
SELECT sut.schemaname::TEXT, sut.relname::TEXT, ts.total_bytes, 1::numeric
FROM stat_user_tables sut
LEFT JOIN table_sizes ts ON ts.table_name = sut.relname AND
ts.table_schema = sut.schemaname
WHERE ts.now = (SELECT now FROM closest_metric_table_sizes) AND sut.now
= (SELECT now FROM closest_metric_stat_user_tables)
ORDER BY 1;
$$ LANGUAGE SQL;
--
Sent from: https://www.postgresql-archive.org/PostgreSQL-bugs-f2117394.html
Commits
-
Fix list-munging bug that broke SQL function result coercions.
- 25378db74fd9 13.1 landed
- c8ab9701791e 14.0 landed