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

Копиране на PostgreSQL база данни на друг сървър

Не е необходимо да създавате междинен файл. Можете да направите

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

или

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

използвайки psql или pg_dump за да се свържете с отдалечен хост.

При голяма база данни или бавна връзка изхвърлянето на файл и прехвърлянето на компресиран файл може да бъде по-бързо.

Както каза Корнел, няма нужда да изхвърляте в междинен файл, ако искате да работите компресиран, можете да използвате компресиран тунел

pg_dump -C dbname | bzip2 | ssh  [email protected] "bunzip2 | psql dbname"

или

pg_dump -C dbname | ssh -C [email protected] "psql dbname"

но това решение също изисква да получите сесия в двата края.

Забележка: pg_dump е за архивиране и psql е за възстановяване. И така, първата команда в този отговор е да копирате от локално към дистанционно, а втората е от дистанционно към локално . Още -> https://www.postgresql.org/docs/9.6/app-pgdump.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PG::DuplicateTable:ГРЕШКА:публикациите за връзка вече съществуват

  2. Как pg_sleep_for() работи в PostgreSQL

  3. Как да наблюдавате PostgreSQL с помощта на Nagios

  4. Barman Cloud – Част 2:Облачно архивиране

  5. Заявка за най-близкия съсед в PostGIS