PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да надстроите pg_restore в docker postgres изображение 10.3 до 10.5

Ако ви разбирам правилно, искате да възстановите дъмп на потребителски формат, взет с 10.5, в база данни 10.3.

Това няма да е възможно, ако форматът на архива е променен между 10.3 и 10.5.

Като заобиколно решение можете да използвате дъмп в „обикновен формат“ (опция --format=plain ), който няма „архивна версия“. Но всички проблеми по време на възстановяването са ваши за решаване, тъй като понижаването на PostgreSQL не се поддържа.

Винаги трябва да използвате една и съща версия за разработка и производство и винаги трябва да използвате най-новата второстепенна версия (в момента 10.13). Всичко останало изисква проблеми.

  1. архивирайте като обикновен текст като този:предупреждение! файлът ще бъде огромен. Около 17 пъти повече от обикновен персонализиран формат. Типичните ми 90mb сега са 1,75Gb
  2. копирайте архивния файл в контейнера на postgres docker cp ~/path/to/dump/in-host-system/2020-07-08-1.dump <name_of_postgres_container>:/backups
  3. отидете на bash на вашия контейнер postgres docker exec -it <name_of_postgres_container> bash
  4. вътре в bash на контейнера postgres:psql -U username -d dbname < backups/2020-07-08-1.dump

Това ще свърши работа




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да пуснете потребител в postgre, ако има зависими обекти

  2. Атомно зададена SERIAL стойност при извършване на транзакция

  3. Как да задам клеймо по подразбиране на сега () + n дни?

  4. Постоянно задайте пътя на схемата на Postgresql

  5. Как да симулирам блокиране в PostgreSQL?