Holger Jakobs <holger@jakobs.com> writes:
> Am 07.12.23 um 19:11 schrieb Rajesh Kumar:
>> Will pg_dump cause blocking queries? If so how to take dump without
>> blocking?
> Readers don't block writers, writers don't block readers in PostgreSQL.
> pg_dump is a reader.
To enlarge on that a bit: pg_dump takes AccessShareLock on every
table it intends to dump. This does not conflict with ordinary
DML updates. It *will* conflict with anything that wants
AccessExclusiveLock, which typically is schema-altering DDL.
See
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.postgresql.org%2Fdocs%2Fcurrent%2Fexplicit-locking.html%23LOCKING-TABLES&data=05%7C01%7C%7Cdcf516f1dede486a176608dbf755c798%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638375720015977401%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=m%2FLUxihtuaXHgYaoa%2FTGzs0qf4Z7ifc7JptfpV0SYdI%3D&reserved=0 So the answer to your question is "don't try to alter the
database schema while pg_dump is running". You can alter
database content freely, though.
regards, tom lane