Publicidad

Cambiar el owner de todas las tablas de una base de datos postgres


Por Alex el 30/06/2014 , Comentar el artículo

Comparte este artículo:        




Esto no es que sea muy común realizarlo pero seguro que a alguien le viene bien esta utilizada. Para cambiar el owner de una base de datos se ha de realizar un ALTER TABLE.


Pero si tienes mas de 30 tablas realizar un alter table por cada una de ellas es un poco “cansino”, por eso lo mejor es preparar una query que nos devuelva todos los ALTER TABLE que queramos ejecutar.

Con esta sentencia nos devuelve el nombre de todas las tablas de la base de datos seleccionada

SELECT table_name from information_schema.tables WHERE table_schema = 'public';
Podemos construir una sentencia como la siguiente:

select 'ALTER TABLE ' || table_name || ' OWNER TO nuevo_user;' from information_schema.tables where table_schema = 'public';
Con la estructura ALTER TABLE que necesitamos para cambiar el owner de las tablas:

ALTER TABLE _tabla1 OWNER TO nuevo_user;
ALTER TABLE _tabla2 OWNER TO nuevo_user;
ALTER TABLE _tabla3 OWNER TO nuevo_user;
...
ALTER TABLE _ tablaN OWNER TO nuevo_user;
De esta forma podemos lanzar todas las querys a la vez, por ejemplo, desde el http://www.adminer.org o el http://www.pgadmin.org

Saludos
Alex.


Si te ha gustado el artículo compartelo en:        


Publicidad


Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.