Search Postgresql Archives

Re: Ynt: How to drop user if objects depend on it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Neslisah Demirci <neslisah.demirci@xxxxxxxxxxxxx> writes:

> Hi ,
>
> REASSIGN OWNED -- change the ownership of database objects owned by a database role.
>
> REASSIGN OWNED BY old_role [, ...] TO new_role
>
> You can create a new role then you just assign database objects depend on old role.
> REASSIGN owned by old_role to new_role;
>
> Then
>
> DROP old_role;
>
> Is this helpful?

It might be if were accurate :-)

Permissions are not reassignable.

drop owned by foo_role;

Sometimes to be on the safe side, just in case foo_role did own objects
that you'd rather not drop...

create role foo_orphaned_objects_role;
reassign owned by foo_role to foo_orphaned_objects_role;
drop owned by foo_role
drop role foo_role;

Note that you may have to repeat this for each DB in a given cluster if
foo_role owns things or is direct grant recipient.

>
> Neslisah.
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> G?nderen: pgsql-general-owner@xxxxxxxxxxxxxx <pgsql-general-owner@xxxxxxxxxxxxxx> ad?na Andrus <kobruleht2@xxxxxx>
> G?nderildi: 07 Ekim 2015 ?ar?amba 13:42
> Kime: pgsql-general
> Konu:  How to drop user if objects depend on it
>  
> Hi!
>  
> Database idd owner is role idd_owner
> Database has 2 data schemas: public and firma1.
> User may have directly or indirectly assigned rights in this database and objects.
> User is not owner of any object. It has only rights assigned to objects.
>  
> How to drop such  user ?
>  
> I tried
>  
>     revoke all on all tables in schema public,firma1 from "vantaa" cascade;
>     revoke all on all sequences in schema public,firma1 from "vantaa" cascade;
>     revoke all on database idd from "vantaa" cascade;
>     revoke all on all functions in schema public,firma1 from "vantaa" cascade;
>     revoke all on schema public,firma1 from "vantaa" cascade;
>     revoke idd_owner from "vantaa" cascade;
>     ALTER DEFAULT PRIVILEGES IN SCHEMA public,firma1 revoke all ON TABLES from "vantaa";
>     DROP ROLE if exists "vantaa"
>  
> but got error
>    
>     role "vantaa" cannot be dropped because some objects depend on it
>     DETAIL:  privileges for schema public
>  
> in statement
>  
>     DROP ROLE if exists "vantaa"
>  
> How to fix this so that user can dropped ?
>  
> How to create sql or plpgsql method which takes user name as parameter and drops this user in all cases without dropping data ?
> Or maybe there is some command or simpler commands in postgres ?
>
> Using Postgres 9.1+
> Posted also in
>  
> http://stackoverflow.com/questions/32988702/how-to-drop-user-in-all-cases-in-postgres
>
> [apple-touch-icon] sql - How to drop user in postgres if it has depending objects - Stack Overflow                                                                      
>                    Database idd owner is role idd_owner Database has 2 data schemas: public and firma1. User may have directly or indirectly assigned rights in this    
>                    database and objects. User is not owner of any ob...                                                                                                 
>                    Devam?n? okuyun...                                                                                                                                   
>
> Andrus.
>

-- 
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@xxxxxxxxxxx
p: 312.241.7800


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux