Postgres БД с 1000 схемами и по 100 таблиц в каждой схеме
Как создать цикл на Postgres в котором будет создаваться 1000 схем и по 100 таблиц в каждой схеме? Никак не могу найти решение, помогите! В конце должно получится schema0, schema1, ... и в каждой схеме table0, table1, table2, ...
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Самый прямой вариант:
DO
$$
BEGIN
FOR i IN 1 .. 1000 LOOP
EXECUTE 'CREATE SCHEMA schema_' || i;
FOR j IN 1 .. 100 LOOP
EXECUTE 'CREATE TABLE schema_' || i || '.table_' || j || ' (id INTEGER PRIMARY KEY)';
END LOOP;
END LOOP;
END;
$$
;
Будьте готовы к тому, что выполняться будет долго и что придётся подкручивать параметры, ибо делается тут всё в одной транзакции. Дальше — параллелизация через Shell и т. д.