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
Saludos
Alex.
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.