-- Also try it with non-error-throwing API SELECT pg_input_is_valid('42', 'xid'); SELECT pg_input_is_valid('asdf', 'xid'); SELECT * FROM pg_input_error_info('0xffffffffff', 'xid'); SELECT pg_input_is_valid('42', 'xid8'); SELECT pg_input_is_valid('asdf', 'xid8'); SELECT * FROM pg_input_error_info('0xffffffffffffffffffff', 'xid8');
-- we don't want relational operators for xid, due to use of modular arithmetic select'1'::xid < '2'::xid; select'1'::xid <= '2'::xid; select'1'::xid > '2'::xid; select'1'::xid >= '2'::xid;
-- also try it with non-error-throwing API select pg_input_is_valid('12:13:', 'pg_snapshot'); select pg_input_is_valid('31:12:', 'pg_snapshot'); select * from pg_input_error_info('31:12:', 'pg_snapshot'); select pg_input_is_valid('12:16:14,13', 'pg_snapshot'); select * from pg_input_error_info('12:16:14,13', 'pg_snapshot');
create temp table snapshot_test (
nr integer,
snap pg_snapshot
);
-- test xid status functions
BEGIN; SELECT pg_current_xact_id() AS committed \gset COMMIT;
BEGIN; SELECT pg_current_xact_id() AS rolledback \gset
ROLLBACK;
BEGIN; SELECT pg_current_xact_id() AS inprogress \gset
SELECT pg_xact_status(:committed::text::xid8) AS committed; SELECT pg_xact_status(:rolledback::text::xid8) AS rolledback; SELECT pg_xact_status(:inprogress::text::xid8) AS inprogress; SELECT pg_xact_status('1'::xid8); -- BootstrapTransactionId is always committed SELECT pg_xact_status('2'::xid8); -- FrozenTransactionId is always committed SELECT pg_xact_status('3'::xid8); -- in regress testing FirstNormalTransactionId will always be behind oldestXmin
COMMIT;
BEGIN; CREATE FUNCTION test_future_xid_status(xid8)
RETURNS void
LANGUAGE plpgsql AS
$$
BEGIN
PERFORM pg_xact_status($1);
RAISE EXCEPTION 'didn''t ERROR at xid in the future as expected';
EXCEPTION WHEN invalid_parameter_value THEN
RAISE NOTICE 'Got expected error for xid in the future';
END;
$$; SELECT test_future_xid_status((:inprogress + 10000)::text::xid8);
ROLLBACK;
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.