So kopieren Sie eine Tabelle von einer Datenbank in eine andere in PostgreSQL

So kopieren Sie eine Tabelle von einer Datenbank in eine andere in PostgreSQL
Bei der Arbeit mit PostgreSQL werden die Daten in Tabellen gespeichert. Wenn Sie also eine Datenbank erstellen, um eine bestimmte Entität zu speichern, wird die Entität als Tabelle dargestellt, in der Sie die Werte einfügen. Sie können unterschiedliche Tabellen in einer bestimmten Datenbank haben, aber Sie können nicht gleichzeitig zwei Datenbanken öffnen.

Wenn Sie daher in einer anderen Datenbank auf eine Tabelle zugreifen möchten, besteht die beste Option darin, sie und alle Daten in die aktuelle Datenbank zu kopieren. Wir werden hauptsächlich zum Kopieren von Tabellen in derselben Datenbank verwendet. Wir konzentrieren uns jedoch heute darauf, wie Sie eine Tabelle von einer Datenbank in eine andere in PostgreSQL kopieren können. Lassen Sie uns eingraben!

Schritt-für-Schritt

PostgreSQL stützt sich auf das Tool "pg_dump", um die Tabellen über verschiedene Datenbanken zu kopieren. In der kopierten Tabelle werden alle Daten in die neue Datenbank verschoben. Auf diese Weise haben Sie eine schnelle Möglichkeit, die Tabelle bei der Arbeit mit verschiedenen Datenbanken zu duplizieren.

Verschiedene Schritte sind am Kopieren einer Tabelle von einer Datenbank zur anderen in PostgreSQL beteiligt. In diesem Beispiel haben wir die Postgresql auf Ubuntu installiert, und wir werden von seiner Shell aus darauf zugreifen. Die Schritte sind ähnlich, wenn sie mit einer anderen Umgebung wie Windows arbeiten, mit nur einem kleinen Unterschied.

Öffnen Sie Ihre Postgresql Shell

Sie müssen zuerst auf die PostgreSQL -Shell zugreifen, um auf die Tabelle zuzugreifen, die Sie von einer Datenbank in eine andere kopieren möchten. Die folgenden Befehle bringen die PostgreSQL -Datenbank auf. Sie können Ihr Passwort eingeben, um mit dem angegebenen Benutzerkonto auf die Datenbank zugreifen zu können:

$ sudo -iu postgres
$ psql

Listen Sie die verfügbaren Datenbanken auf

Sie müssen die verfügbare Datenbank überprüfen, um die Quell- und Zieldatenbank für die Tabelle zu bestimmen, die Sie kopieren möchten.

# \ l

Sie können schnell eine erstellen, wenn Sie keine Zieldatenbank haben.

Für unser Beispiel verwenden wir "Postgres" als Quelldatenbank und haben die "LinuxDemo" als Zieldatenbank, in der wir die Tabelle in der Datenbank "Postgres" kopieren.

Finden Sie die Zieltabelle

Aus der Terminalschale können wir bereits beachten, dass wir mit der Datenbank "Postgres" verbunden sind. In diesem Fall können wir die verfügbaren Tabellen mit dem auflisten \ dt Befehl zur Suche nach der Tabelle, die wir in unsere neue Datenbank kopieren möchten.

# \ dt

Hier haben wir nur eine Tabelle mit dem Namen "FloatDemo". Wir können es öffnen, um den Inhalt zu überprüfen, bevor wir es kopieren.

Überprüfen Sie, ob die Tabelle in der Zieldatenbank nicht vorhanden ist

Bevor Sie Ihre Tabelle kopieren, müssen Sie sicherstellen, dass die Zieldatenbank keine Tabelle enthält, die denselben Namen wie die, die Sie kopieren möchten. Erstellen Sie in ähnlicher Weise keine Tabelle, die beim Kopieren der Zieltabelle einen Fehler aufwirft.

Ersetzen Sie den folgenden Befehl durch Ihre Zieldatenbank:

# \ c Linuxdemo;

Listen Sie anschließend die Tabellen in der Datenbank auf, um zu überprüfen.

# \ dt

Führen Sie den Copy -Befehl aus

Der Befehl zum Kopieren der Tabelle hängt davon ab, ob Sie Windows oder Ubuntu verwenden. Bei Windows müssen Sie den Pfad zu den PostgreSQL -Dateien auf Ihrem System finden. Wenn Sie beispielsweise Postgresql v14 ausführen, wird Ihr Weg wahrscheinlich sein C: \ Programme \ postgreSQL \ 14 \ bin. Sobald Sie den Pfad erhalten haben, öffnen Sie CMD und navigieren Sie zu diesem Verzeichnis. Sie führen dann den Befehl kopieren auf Ihrem CMD aus.

In unserem Fall verwenden wir Ubuntu und wie wir den Befehl ausführen, ist anders. Öffnen Sie hier die Postgresql -Shell auf Ihrem Terminal. Verwenden Sie von dort aus der folgenden Syntax, um die Tabelle aus der Quelldatenbank in die Zieldatenbank zu kopieren. Beachten Sie, dass der Befehl für Windows und Ubuntu gleich ist.

pg_dump -u postgres -t target -table Quelldatabase | psql -u postgres Zieldatabase

Im folgenden Beispiel ist "FloatDemo" die Zieltabelle und die folgenden "Postgres" sind unsere Quelldatenbank. Das "Linuxdemo" ist die Zieldatenbank. Ersetzen Sie dasselbe in Ihrem Fall. Führen Sie dann den Befehl aus.

Geben Sie Ihr PostgreSQL-Passwort ein, damit der angemeldete Benutzer die Aktion authentifiziert hat. Sie erhalten eine Ausgabenachricht, die bestätigt, dass die Kopieraktion erfolgreich abgeschlossen ist.

Überprüfen Sie die kopierte Tabelle

Nach Ausführung des Kopierbefehls besteht der letzte Schritt darin, zu überprüfen, ob die Aktion wie erwartet abgeschlossen ist. Öffnen Sie Ihre PostgreSQL -Shell und stellen Sie eine Verbindung zur Zieldatenbank her. Listen Sie nach dem Anschluss die verfügbaren Tabellen auf, um zu überprüfen, ob ein neuer Eintrag für die kopierte Tabelle erstellt wurde. Wenn ja, überprüfen Sie den Inhalt mit dem Befehl SELECT *.

Wir bestätigen, dass unsere doppelte Tabelle erfolgreich aus der Quelldatenbank in die Zieldatenbank in postGreSQL kopiert wird.

Abschluss

Mit PostgreSQL können Sie schnell eine Tabelle von einer Datenbank zu einer anderen kopieren, indem Sie den Befehl "pg_dump" unterhalten. Wir haben den Schritt-für-Schritt-Prozess erläutert und gleichzeitig ein praktisches Beispiel bereitgestellt. Sie verstehen jetzt, wie Sie Tabellen in PostgreSQL -Datenbanken kopieren.