У меня есть серверы (скажем, x.x.x.x
- основной и y.y.y.y
- вторичный)
На главном сервере у меня запущено приложение Django, которое сохраняет свои данные в Postgres базу данных, вторичную один из них абсолютно пустой.
Каждую минуту он создает около 900+ строк в одной таблице, поэтому, в конце концов, он стал более 3M строк в этой таблице, и обработка всех этих объектов (фильтрация, сортировка) стала очень медленной из-за ее количество. Однако мне нужны только те строки, которые были написаны за последние 3 дня, не более. Тем не менее, я не могу просто удалить данные, потому что они нужны мне для анализа в будущем, поэтому мне нужно их где-то хранить.
Я думаю о том, чтобы создать другую базу данных на вторичном сервере и сохранить все дополнительные данные там. Поэтому мне нужно перенести все данные старше 3 дней с локального (основного) сервера на удаленный (дополнительный) сервер.
Регулярность может быть достигнута с помощью cron
, что является тривиальной задачей.
Что нетривиальна команда, которую мне нужно выполнить в cron
. Я не думаю, что для этого есть встроенная команда SQL, поэтому мне интересно, возможно ли это вообще.
Я думаю, что команда должна выглядеть примерно так:
INSERT INTO remote_server:table
SELECT * FROM my_table;
Кроме того, я думаю, стоит упомянуть, что таблица, с которой у меня возникают проблемы, постоянно обновляется, как я уже писал выше. Таким образом, возможно, эти обновления вызывают проблемы со скоростью при выполнении некоторых фильтров или запросов сортировки.