Re: BUG #17518: Getting Error "new multixact has more than one updating member" when trying to delete records.

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: "Krier, Bob" <rkrier@cleo.com>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-06-27T17:11:21Z
Lists: pgsql-bugs
On Mon, Jun 27, 2022 at 9:36 AM Krier, Bob <rkrier@cleo.com> wrote:

> Hi David,
>
>
>
> Thanks for the response.
>
>
>
>    - I haven’t tried via psql.  I only have a snapshot of the customer’s
>    database that I can restore in RDS.  It is very time consuming to set this
>    up.  I’ve corrected the problem by running VACUUM (FULL, FREEZE,
>    VERBOSE, ANALYZE, INDEX_CLEANUP, TRUNCATE) on the table and the
>    problem is resolved.
>
>
Once you say "FULL" the rest of those options (except verbose) don't matter.


>
>    -
>    - Deleting by date where it only matches to 1 row seems to work.  If I
>    match on more than one, it seems to fail.  I’m not sure what conditions
>    make it happen.  I have not tried to delete by PK.  I’m not sure what you
>    mean by “How about columns?”.  You don’t specify columns on a delete
>    statement.
>
>  Not sure I was thinking clearly on that one - but ultimately you could
try "ALTER TABLE ... DROP COLUMN" though I'm doubting it would be productive


>    - Can I construct a self-contained minimal reproducer?:  No
>    unfortunately exporting the table and importing it to another Postgres
>    instance does not reproduce the issue.   Again the vacuum above corrects
>    the issue.
>    - Does it manifiest standalone…?  Again I only have the snapshot to
>    restore on RDS and can reproduce it that way.
>
>
>
David J.

Commits

  1. Make multixact error message more explicit

  2. CREATE INDEX: use the original userid for more ACL checks.