The following bug has been logged on the website:
Bug reference: 13470
Logged by: Krzysztof Kotlarski
Email address: kotlarski.krzysztof@gmail.com
PostgreSQL version: 9.4.4
Operating system: Tested OS X and Gentoo
Description:
Minimal reproductible example:
SELECT * FROM pg_create_logical_replication_slot('test_slot',
'test_decoding');
CREATE TABLE "t" ("a" character varying);
ALTER TABLE "t" REPLICA IDENTITY FULL;
INSERT INTO "t" ("a") VALUES ('a1');
ALTER TABLE "t" ADD "b" character varying;
UPDATE "t" SET "a" = 'a2';
SELECT * FROM pg_logical_slot_get_changes('test_slot', NULL, NULL);
Produces:
slot_name | xlog_position
-----------+---------------
test_slot | 6/BD3C1950
(1 row)
CREATE TABLE
ALTER TABLE
INSERT 0 1
ALTER TABLE
UPDATE 1
ERROR: invalid memory alloc request size 18446744073709551613
CONTEXT: slot "test_slot", output plugin "test_decoding", in the change
callback, associated LSN 6/BD3D8C28
Bug affects all 9.4 versions.