Simply put, giving access to a schema DOES NOT automatically give access to
any table in the schema. So if you want a specific user ( or role) to be
able to read (or pg_dump) all tables in the schema, then you must GRANT
SELECT of all tables in that schema to the user (or role).

On Tue, Feb 17, 2015 at 5:41 PM, Stephen Frost <sfr...@snowman.net> wrote:

> Daniel,
>
> * Daniel LaMotte (lamott...@gmail.com) 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]).  I do not care about the data.  I only care that the
> pg_dump
> > would emit "CREATE TABLE ..." statements for the table.
> >
> > The --schema-only option makes me think that it would emit only these
> > CREATE TABLE ... statements and not the COPY statements (which consist of
> > 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.
>
> So, for my 2c, it seems like we should be able avoid issuing the LOCK
> TABLE statements when we're doing a schema-only dump and then this would
> work.
>
>         Thanks!
>
>                 Stephen
>



-- 
*Melvin Davidson*
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

Reply via email to