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.
También puede interesarte:
![]() |
||
![]() |
Listar todas las tablas que contengan un determinado campo en postgreSQL |
|
![]() |
||
![]() |
||
![]() |
||
![]() |