BUG #17518: Getting Error "new multixact has more than one updating member" when trying to delete records.
The Post Office <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: rkrier@cleo.com
Date: 2022-06-14T15:17:46Z
Lists: pgsql-bugs
The following bug has been logged on the website:
Bug reference: 17518
Logged by: Bob Krier
Email address: rkrier@cleo.com
PostgreSQL version: 12.10
Operating system: AWS RDS
Description:
We are getting an error executing a delete statement from JDBC like
follows:
DELETE FROM "EBI"."LOG_OF_CONNECTION" WHERE "DATE" < {some java date in
milliseconds}. The error is as follows:
---> "SQLException: ERROR: new multixact has more than one updating
member"
I've searched the web for this particular error and was only able to find
the source file
"https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c",
but I don't know the conditions that cause it. Is there any remedy to
this?
We have a table defined as follows:
CREATE TABLE "LOG_OF_CONNECTION" (
"ID" bpchar(32) NOT NULL,
"TYPE" int4 NOT NULL,
"STATUS" int4 NULL,
"DATE" int8 NULL,
"MARKED_FOR_PURGE" int2 NULL,
"CONNECTION_DIRECTION" varchar(1) NULL,
"TARGET_DBP" bpchar(32) NULL,
"ENDPOINT_ID" bpchar(32) NULL,
"METHOD_MESSAGES" bytea NULL,
"PERSISTENT_STORAGE_REQUESTED" int4 NULL,
"PROCESS_USER_REF" int8 NULL,
"CONNECTION_NUMBER" int4 NULL,
"NOTIFICATION_TYPE" varchar(256) NULL,
"TIME_SENT" int8 NULL,
"CALC_RETURN_TIME" int8 NULL,
"TIME_RECEIVED" int8 NULL,
"IS_PROCESSED" int4 NOT NULL DEFAULT 0,
"ENDPOINT_NAME" varchar(1024) NULL,
"TRADING_PARTNER_ID" varchar(1024) NULL,
"TRANSFER_ID" varchar(1024) NULL,
"LOG_ORIGIN_OBJECT" varchar(1024) NULL,
CONSTRAINT "LOG_OF_CONN_PK" PRIMARY KEY ("ID", "TYPE")
);
CREATE INDEX by_date_log_of_connection ON "EBI"."LOG_OF_CONNECTION" USING
btree ("DATE", "ID");
CREATE INDEX by_status_date_id3 ON "EBI"."LOG_OF_CONNECTION" USING btree
("ID", "TYPE", "STATUS", "DATE" DESC);
CREATE INDEX edi_late_ack_log_of_connection ON "EBI"."LOG_OF_CONNECTION"
USING btree ("ID");
Commits
-
Make multixact error message more explicit
- f63f29733e2f 15.2 landed
- de95928ea071 12.14 landed
- b20e38142208 11.19 landed
- 8e7c86785a11 14.7 landed
- 5a185246f9a7 13.10 landed
- 2cf41cd30997 16.0 landed
-
CREATE INDEX: use the original userid for more ACL checks.
- 00377b9a02b8 15.0 cited