sql >> Database >  >> RDS >> PostgreSQL

Hoe de pg_restore in docker postgres afbeelding 10.3 naar 10.5 te upgraden

Als ik je goed begrijp, wil je een dump met aangepast formaat die met 10.5 is genomen, terugzetten in een 10.3-database.

Dat is niet mogelijk als het archiefformaat is gewijzigd tussen 10.3 en 10.5.

Als tijdelijke oplossing zou u een dump in "plain format" kunnen gebruiken (optie --format=plain ) die geen "archiefversie" heeft. Maar eventuele problemen tijdens het herstellen kunt u zelf oplossen, aangezien het downgraden van PostgreSQL niet wordt ondersteund.

Je moet altijd dezelfde versie gebruiken voor ontwikkeling en productie, en je moet altijd de laatste kleine release gebruiken (momenteel 10.13). Al het andere is vragen om problemen.

  1. back-up als platte tekst, zoals deze:waarschuwing! het bestand zal enorm zijn. Ongeveer 17x meer dan normaal aangepast formaat. Mijn typische 90 MB is nu 1.75Gb
  2. kopieer het back-upbestand naar de postgres-container docker cp ~/path/to/dump/in-host-system/2020-07-08-1.dump <name_of_postgres_container>:/backups
  3. ga naar de bash van je postgres-container docker exec -it <name_of_postgres_container> bash
  4. in de bash van de postgres-container:psql -U username -d dbname < backups/2020-07-08-1.dump

Dat zal werken




  1. Kan de vensterfunctie LAG verwijzen naar de kolom waarvan de waarde wordt berekend?

  2. tel meerdere kolommen in één zoekopdracht

  3. Haal de lege records op met SQL

  4. Installeer en configureer XAMPP-software op Windows Server 2019