{{tag>application software bdd postgresql}} ====== PostgreSQL : Changer le propriétaire de la base ====== Si le propriétaire d'origine n'est pas postgres, on peut utiliser la commande ''REASSIGN OWNED'' avec la syntaxe suivante: -- Après avoir sélectionné la base REASSIGN OWNED BY origin_role TO dest_role ; Tous les objets de la base (relation, vues, fonctions etc) sont réassignés au role "dest_role". Si la base et les objets qu'elle contient appartiennent à ''postgres'', cette commande n'est pas utilisable. Dans ce cas, le plus simple est de faire un dump de la base, d'éditer le fichier et de recréer la base. # Dump de la base pg_dump -s DB_NAME > dump.sql Via vim, on peut modifier le propriétaire "origin_role" des objets via la commande : :%s/OWNER TO origin_role/OWNER TO dest_role/g Récréer la base via le dump modifié : psqL DB_NAME < dump.sql ===== Références ===== * [[https://www.postgresql.org/docs/current/sql-reassign-owned.html|Documentation de la commande SQL "REASSIGN OWNED" (postgresql.org) (en)]] * [[https://stackoverflow.com/questions/1348126/postgresql-modify-owner-on-all-tables-simultaneously-in-postgresql|Comment modifier le propriétaire de toutes les tables (stackoverflow.com) (en)]]