Stephen Frost <sfrost@xxxxxxxxxxx> writes: > * Daniel LaMotte (lamotte85@xxxxxxxxx) wrote: >> I understand this. This is the behavior I want. What I don't understand >> is why the readonly user can inspect the schema of the table interactively >> when pg_dump refuses to do the same via the command line (assumably it asks >> for too much permission when simply trying to dump the schema [NOT the >> table data]). > The issue is that pg_dump wants to lock the table against changes, which > is really to prevent the table to change between "we got the definition > of the table" and "pulling the records out of the table." It's not > immediately obvious, to me at least, that there's really any need to > lock the tables when doing a schema-only dump. Accesses to the catalogs > should be consistent across the lifetime of the transaction which > pg_dump is operating in and a schema-only dump isn't doing anything > else. This is the standard mistake about pg_dump, which is to imagine that it depends only on userspace operations while inspecting schema info. It doesn't; it makes use of things like ruleutils.c which operate on "latest available data" rules. Accordingly, no we're not going to skip taking the table locks. At least not without a ground-up rewrite of that whole mess, which as you know has been discussed multiple times without anything useful happening. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general