Добрый день, столкнулся с таким явлением как использовать COPY в postgres. Я сделал заливку и обновление больших прайсов ~ 5 млн. Проблема возникает в том что на продакшене БД будет переноситься на другой сервер.
В PHP скриптах я использую COPY , но данная команда не работает если БД находится не на localhost.
Что можете посоветовать в таком случае, как быть ?
P.S., есть такие мысли:
1) можно добится того чтобы БД находилась локально
2) можно использовать exec psql -c -h ...., но в таком случае не получится сделать транзакцию
3) можно посмотреть в сторону репликации master -> slave
Или загрузить файл на сервер с СУБД
Или сделать sshfs с сервера с СУБД на сервер с пхп
Или загрузить скрипт синхонизации на сервер с СУБД вместе с данными
sim3x, Спасибо, рассмотрю "Или сделать sshfs с сервера с СУБД на сервер с пхп", но пока не совсем полностью понимаю будет ли возможность создавать "там" средствами PHP csv и наполнять его. Как это я делаю сейчас локально. Тут важно понимать что данный функционал будет работать регулярно на обновление прайсов.
Что вам мешает выполнить свой php скрипт с COPY на удаленном сервере через ssh-соединение? Вы также через это же соединение можете выполнить psql команду. В конце транзакции с COPY можно сохранять флаг успешности данной транзакции в какой-нибудь таблице БД и проверять его с основного сервера.