From: | "Brian A(dot) Seklecki" <lavalamp(at)spiritual-machines(dot)org> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Recursive/Wildcard Object Ownership Change |
Date: | 2007-02-28 21:38:52 |
Message-ID: | 20070228162948.H84901@arbitor.digitalfreaks.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
All:
Ideas for recursively changing the ownership of all objects in a database
to a new user?
- There is no way to specify recursion in "ALTER TABLE OWNER TO rolename"
- Globbing table names in "ALTER TABLE * OWNER TO rolename" does not work.
- To get a list of tables, you can do:
SELECT table_schema,table_name from information_schema.tables where
table_schema !~ '.*(catalog|info rmation_schema).*';
However to get a list of sequences, you have to:
"SELECT relname from pg_class where relkind='S';
And so on and so on a different approach for all other types of objects:
Procedures, Schemas, Database, Tablespaces, Languages, Views, Triggers,
Domains..
Then you have to loop those through a for loop with a different syntax to
ALTER, or (coming to mind just now) a sub-query instead of asterisk in
ALTER [Object].
Another option is to dump the schema and use regex to alter OWNER
statements.
Ideas on more efficient ways to do this?
l8*
-lava (Brian A. Seklecki - Pittsburgh, PA, USA)
http://www.spiritual-machines.org/
From | Date | Subject | |
---|---|---|---|
Next Message | Frank Church | 2007-02-28 22:01:02 | rpm containing pgdump |
Previous Message | Bill Moran | 2007-02-28 21:24:09 | Re: How often do I need to reindex tables? |