Konfigurieren Sie Postgres auf Server A, um pg_restore auf Server B auszuführen (Zertifikatauthentifizierung erforderlich).

Konfigurieren Sie Postgres auf Server A, um pg_restore auf Server B auszuführen (Zertifikatauthentifizierung erforderlich).

Ich versuche, eine auf SERVER_A ausgeführte PostgreSQL-Instanz so zu konfigurieren, dass sie eine Verbindung zu einer anderen PostgreSQL-Instanz auf SERVER_B herstellt. Ich führe auf SERVER_A ein Shell-Skript aus, das letztendlich eine Verbindung herstellen und ein pg_restore auf einer Datenbank ausführen muss, die sich auf SERVER_B befindet.

SERVER_B befindet sich auf Amazons AWS. Normalerweise würde ich die folgenden Befehle ausführen, um mich per SSH mit der Maschine zu verbinden:

# ssh -i .ssh/server-dev.pem [email protected]
[root@dev]# ssh -i .ssh/dev1mac 0.0.0.0

...Mit der Postgres-Instanz unter 0.0.0.0

Kann mir jemand erklären, wie ich die obigen Informationen verwende, um Postgres auf SERVER_A zu konfigurieren? Ich habe mir pg_hba.conf angesehen, aber ehrlich gesagt habe ich das noch nie zuvor gemacht und aus der Dokumentation geht nicht hervor, wie ich das gewünschte Ergebnis erreiche. Gibt es vielleicht einen einfacheren Weg, der es mir ermöglicht, die Konfiguration von Postgres ganz zu überspringen und stattdessen einfach eine Reihe von Befehlen aus meinem Shell-Skript auszuführen, um die Wiederherstellung durchzuführen?

Ich bin für jede Hilfe dankbar, danke!

Antwort1

SERVER_AWenn Sie lediglich per pg_restore eine Dump-Datei auf der aktuell ausgeführten DB-Instance wiederherstellen möchten SERVER_B, ist das ganz einfach:

SERVER_A # cat dump_file | ssh SERVER_B pg_restore

(Fügen Sie alle notwendigen Optionen zu pg_restore hinzu, aber geben Sie keinen Dateinamen an.das Postgres-Handbuch, If [filename is] not specified, the standard input is used.)

(Sie könnten auch scpdie Dump-Datei übertragen und dann die Wiederherstellung mit der Datei auf ausführen SERVER_B, aber das Obige scheint eher Ihrem Ziel zu entsprechen, ein Skript auf auszuführen, SERVER_Adas alles erledigt).

verwandte Informationen