Перемещение табличных пространств означает простое копирование больших объемов данных. Копирование производится постепенно, по блокам, и, к сожалению, чем больше таблица, тем больше времени оно займет. Чтобы повысить производительность, отключите архивирование и потоковую репликацию, поскольку тогда не будут вестись записи в WAL. Следует также помнить, что на время копирования таблица полностью блокируется, а это может привести к остановке работы приложения. Будьте внимательны! Чтобы объект при следующем его создании появился в нужном месте, воспользуйтесь командой: поскольку в этом случае все объекты, для которых не было определено табличное пространство, будут перемещены в New_tabiespace. Если база данных большая, времени на это понадобится много, и БД будет заблокирована надолго. Особенно неприятно, если это вышло случайно.
Если вы вдруг обнаружили, что индексы не перемещаются при перемещении таблицы, проверьте, находятся ли они в том же табличном пространстве, что и их таблицы. Для этого выполните:
Иногда требуется получить доступ к данным, находящимся в других БД PostgreSQL. Причины могут быть разными: Если вы заинтересовались этим вопросом при изучении масштабирования, шардинга или методов балансирования нагрузки, перейдите сразу к последнему разделу этого рецепта, а затем к двенадцатой главе.
Рубрика: Женский интерес