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

Възстановяване на архивен файл на postgres с помощта на командния ред?

Има два инструмента, които можете да разгледате, в зависимост от това как сте създали дъмп файла.

Първият ви източник на справка трябва да бъде man страницата pg_dump(1) тъй като това създава самото сметище. Пише:

Дъмповете могат да се извеждат в скриптови или архивни файлови формати. Изхвърлянията на скриптове са обикновени текстови файлове, съдържащи SQL командите, необходими за реконструкция на базата данни до състоянието, в което е била в момента, в който е била записана. Възстановете от такъв скрипт, захранвайте го topsql(1). Скриптовите файлове могат да се използват за реконструкция на базата данни дори на други машини и други архитектури; с някои модификации седем на други продукти за база данни на SQL.

Алтернативните архивни файлови формати трябва да се използват с pg_restore(1), за да се изгради базата данни. Те позволяват на pg_restore да бъде избирателен относно това, което се възстановява, или дори да пренарежда елементите, преди да бъдат възстановени. Архивните файлови формати са проектирани да бъдат преносими в различни архитектури.

Така че зависи от начина, по който е изхвърлен. Вероятно можете да го разберете с помощта на отличния file(1) команда - ако споменава ASCII текст и/или SQL, трябва да бъде възстановена с psql в противен случай вероятно трябва да използвате pg_restore

Възстановяването е доста лесно:

psql -U username -d dbname < filename.sql

-- For Postgres versions 9.0 or earlier
psql -U username -d dbname -1 -f filename.sql

или

pg_restore -U username -d dbname -1 filename.dump

Разгледайте съответните им страници на управление - има доста опции, които влияят на това как работи възстановяването. Може да се наложи да почистите вашите "живи" бази данни или да ги създадете отново от template0 (както е посочено в коментар), преди да възстановите, в зависимост от това как са генерирани дъмповете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Основно наблюдение на PostgreSQL – част 2

  2. Кръстосана таблица с голям или неопределен брой категории

  3. PL/pgSQL анонимен кодов блок

  4. Грешка при използване на съвпадение на шаблон, което не е като всички в PostgreSQL

  5. LOWER LIKE срещу iLIKE