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.
Sounds to me like a corrupt table which is fixed by vacuuming.