From: Bob Lunney <bob_lunney@yahoo.com>
To: pgsql-admin@postgresql.org <pgsql-admin@postgresql.org>
To: Marc Fromm <Marc.Fromm@wwu.edu>
Subject: Re: grant select script
Date: Wed, 30 Mar 2011 11:06:21 -0700 (PDT)
Message-ID: <883883.1817.qm@web39702.mail.mud.yahoo.com> (raw)
In-Reply-To: <93361C67E4EE844A80935863A4FF4B6C04E613C3@Exch2010MB-2.univ.dir.wwu.edu>
Marc,
Try pg_stat_user_tables - it will eliminate the tables in pg_catalog, information_schema, and the toast tables.
Bob Lunney
--- On Wed, 3/30/11, Marc Fromm <Marc.Fromm@wwu.edu> wrote:
From: Marc Fromm <Marc.Fromm@wwu.edu>
Subject: [ADMIN] grant select script
To: "pgsql-admin@postgresql.org" <pgsql-admin@postgresql.org>
Date: Wednesday, March 30, 2011, 1:54 PM
I am working with a script to automate grant select to all tables in a database to a user.
1 #!/bin/bash
2 for table in 'echo "SELECT relname FROM pg_stat_all_tables;" | psql cswe2 | grep -v "pg_" | grep "^ "';
3 do
4 echo "GRANT SELECT ON TABLE $table to tom;"
5 echo "GRANT SELECT ON TABLE $table to tom;" | psql cswe2
6 done
The script works—meaning it grants the select to the user, but it generates errors on tables that do not exist like the following.
The data base cswe2 does not contain the table sql_languages, unless it is hidden. Is there a way to tell the script to ignore them?
GRANT SELECT ON TABLE sql_languages to tom;
ERROR: relation "sql_languages" does not exist
Thanks
Marc
Marc Fromm
Information Technology Specialist II
Financial Aid Department
Western Washington University
Phone: 360-650-3351
Fax: 360-788-0251
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: bob_lunney@yahoo.com, Marc.Fromm@wwu.edu
Subject: Re: grant select script
In-Reply-To: <883883.1817.qm@web39702.mail.mud.yahoo.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox