ver una tablas tabla schemas postgres llave listar foranea esquema datos crear con postgresql schema migrate postgresql-9.1

una - listar tablas postgresql



¿Cómo cambiar el esquema de varias tablas PostgreSQL en una sola operación? (1)

Tengo una base de datos PostgreSQL 9.1 con más de 100 tablas que se cargaron en el esquema "público". Me gustaría mover esas tablas (pero no todas las funciones en "público") a un esquema de "datos".

Sé que puedo usar lo siguiente para mover 1 tabla a la vez.

ALTER TABLE [tablename] SET SCHEMA [new_schema]

¿Es posible mover todas las tablas al nuevo esquema en una sola operación? Si es así, ¿cuál sería la forma más eficiente de realizar esta tarea?


DO hará el truco:

DO $$ DECLARE row record; BEGIN FOR row IN SELECT tablename FROM pg_tables WHERE schemaname = ''public'' -- and other conditions, if needed LOOP EXECUTE ''ALTER TABLE public.'' || quote_ident(row.tablename) || '' SET SCHEMA [new_schema];''; END LOOP; END; $$;