Hello,
 

I have two databases, I need to insure that both databases has the same roles.  
tables, schemas, views must have the same permissions and privileges. you can 
say and Identical clones. I can synchronize the roles using these statements


SELECT DISTINCT 'CREATE USER '||usename||';' FROM pg_user;
SELECT 'GRANT '||g.usename||' TO '||u.usename||';' FROM pg_auth_members a JOIN 
pg_user u ON a.member = u.usesysid JOIN pg_user g ON a.roleid = g.usesysid;
SELECT 'ALTER ROLE '||usename||' WITH SUPERUSER;' FROM pg_user WHERE usesuper;


  However, How can I synchronize the privileges that are assigned to the 
database entities i.e. schemas , tables, and views.


If that solution is not possible, how can I create an identical clone of my 
database including roles. when I use pg_restore normally the owner of the 
tables 
are changed and you need to recreate the roles in advance

Regards

Reply via email to