У меня есть ~ 140 ГБ postgreDB на Heroku / AWS.Я хочу создать дамп этого на виртуальной машине Windows Azure - Windows Server 2012 R2, так как мне нужно переместить БД в среду Azure.
БД имеет несколько небольших таблиц, но в основном состоит изодна таблица занимает ~ 130 ГБ, включая индексы.В нем ~ 500 миллионов строк.
Я пытался использовать для этого pg_dump с:
./pg_dump -Fc --no-acl --no-owner --host * --port 5432 -U * -d * > F:/051418.dump
Я пробовал на виртуальных машинах различных размеров Azure, в том числе на некоторых довольно больших с(D12_V2) Оперативная память 28 ГБ, 4 виртуальных ЦП, 12000 MAXIOP и т. Д. Но во всех случаях pg_dump полностью останавливается из-за перестановки памяти.
На данной машине в данный момент используется вся доступная память, и она использовала последние 12 часов подкачки памятина диске.Я не ожидаю, что это завершится из-за перестановки.
Из других сообщений я понял, что это может быть проблемой со скоростью сети, поскольку она намного быстрее скорости ввода-вывода диска, из-за чего pg_dump поглотит вседоступная память и многое другое, поэтому я попытался использовать лазурную машину с большинством IOP.Это не помогло.
Так есть ли другой способ, которым я могу заставить pg_dump ограничить использование памяти или подождать получения дополнительных данных, пока они не будут записаны на диск и очистить память?
С нетерпением ждем вашей помощи!
Krgds.
Christian