Brad Paul <bradpaul(dot)a(dot)with(at)long(dot)tail(dot)bdp-optics(dot)com> writes:
> I'm trying to dump a database called stocks. I did:
> pg_dump stocks > stocks.sql
> pg_dump: NOTICE: ShmemAlloc: out of memory pg_dump: Attempt to lock table
> "slab" failed. ERROR: LockAcquire: holder table out of memory
> This database has 3478 tables.
You probably need to increase max_locks_per_transaction. Or better,
rethink your schema. Thousands of tiny tables is usually a bad idea
compared to a smaller number of (properly indexed) tables.
regards, tom lane