sql >> Databáze >  >> RDS >> PostgreSQL

Kopírování databáze PostgreSQL na jiný server

Není třeba vytvářet mezisoubor. Můžete to udělat

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

nebo

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

pomocí psql nebo pg_dump pro připojení ke vzdálenému hostiteli.

U velké databáze nebo pomalého připojení může být vyprázdnění souboru a přenos komprimovaného souboru rychlejší.

Jak řekl Kornel, není potřeba vypisovat do mezisouboru, pokud chcete pracovat komprimovaně, můžete použít komprimovaný tunel

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

nebo

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

ale toto řešení také vyžaduje získat relaci na obou koncích.

Poznámka: pg_dump je pro zálohování a psql je k obnovení. Takže první příkaz v této odpovědi je zkopírovat z místního do vzdáleného a druhý je ze vzdáleného do místního . Více -> https://www.postgresql.org/docs/9.6/app-pgdump.html



  1. PostgreSQL Full Text Search a Trigram Confusion

  2. Naplnění tabulky PL/SQL z bloku v Oracle D2k Forms

  3. Jaký je rozdíl mezi funkcemi RANK() a DENSE_RANK() v oracle?

  4. Zrušte vnoření pole o jednu úroveň