Jak skopiować tabelę z jednej bazy danych do drugiej w PostgreSQL

Jak skopiować tabelę z jednej bazy danych do drugiej w PostgreSQL
Podczas pracy z PostgreSQL dane są przechowywane w tabelach. Tak więc, gdy tworzysz bazę danych do przechowywania danego jednostki, jednostka jest reprezentowana jako tabela, w której wkładasz wartości. Możesz mieć różne tabele w danej bazie danych, ale nie możesz otworzyć dwóch baz danych jednocześnie.

Stąd, gdy chcesz uzyskać dostęp do tabeli w innej bazie danych, najlepszą opcją jest jej skopiowanie i wszystkie dane do bieżącej bazy danych. Jesteśmy głównie przyzwyczajeni do kopiowania tabel w tej samej bazie danych. Jednak dzisiaj skupiamy się na tym, jak skopiować tabelę z jednej bazy danych do drugiej w PostgreSQL. Pokawmy się!

Przewodnik krok po kroku, aby skopiować tabelę z jednej bazy danych do drugiej w PostgreSQL

PostgreSQL polega na narzędzia „PG_DUMP” do kopiowania tabel w różnych bazach danych. W skopiowanej tabeli będzie przeniesiono wszystkie swoje dane do nowej bazy danych. W ten sposób będziesz miał szybki sposób na powielanie tabeli podczas pracy z różnymi bazami danych.

Różne kroki są zaangażowane w kopiowanie tabeli z jednej bazy danych do drugiej w PostgreSQL. W tym przykładzie mamy zainstalowany PostgreSQL na Ubuntu i uzyskamy dostęp do jego powłoki. Kroki są podobne podczas pracy z innym środowiskiem, takim jak Windows, z tylko niewielką różnicą.

Otwórz swoją powłokę PostgreSQL

Najpierw musisz uzyskać dostęp do powłoki PostgreSQL, aby uzyskać dostęp do tabeli, którą chcesz skopiować z jednej bazy danych do drugiej. Poniższe polecenia przywołują bazę danych PostgreSQL. Możesz wprowadzić hasło, aby uzyskać dostęp do bazy danych z określonym kontem użytkownika:

$ sudo -iu postgres
$ psql

Wymień dostępne bazy danych

Musisz sprawdzić dostępną bazę danych, aby określić bazę danych źródłowych i docelowych dla tabeli, którą chcesz skopiować.

# \ l

Możesz szybko go utworzyć, jeśli nie masz docelowej bazy danych.

W naszym przykładzie używamy „Postgres” jako naszej źródłowej bazy danych i mamy „LinuxDemo” jako docelową bazę danych, w której kopiujemy tabelę w bazie danych „Postgres”.

Znajdź tabelę docelową

Z końcowej powłoki możemy już zauważyć, że jesteśmy podłączeni do bazy danych „Postgres”. W takim przypadku możemy wymienić dostępne tabele za pomocą \ dt polecenie zlokalizowania tabeli, którą chcemy skopiować do naszej nowej bazy danych.

# \ dt

Tutaj mamy tylko jedną tabelę o nazwie „floatdemo”. Możemy go otworzyć, aby sprawdzić jego zawartość przed jej kopiowaniem.

Sprawdź, czy tabela nie istnieje w docelowej bazie danych

Przed skopiowaniem tabeli musisz upewnić się, że docelowa baza danych nie ma tabeli, która udostępnia tę samą nazwę co ta, którą chcesz skopiować. Podobnie nie tworz tabeli, która podniosłaby błąd podczas kopiowania tabeli docelowej.

Zamień następujące polecenie docelową bazą danych:

# \ c LinuxDemo;

Następnie wymień tabele w bazie danych, aby sprawdzić, czy istnieje jakaś dopasowanie do tego, który chcesz skopiować.

# \ dt

Wykonaj polecenie kopii

Polecenie do skopiowania tabeli zależy od tego, czy używasz Windows, czy Ubuntu. W przypadku systemu Windows należy znaleźć ścieżkę do plików PostgreSQL w systemie. Na przykład, jeśli używasz PostgreSQL v14, Twoja ścieżka będzie prawdopodobnie C: \ Program Files \ Postgresql \ 14 \ bin. Po uzyskaniu ścieżki otwórz CMD i przejdź do tego katalogu. Następnie wykonujesz polecenie kopiowania w swoim CMD.

W naszym przypadku używamy Ubuntu, a sposób, w jaki wykonujemy polecenie, jest inny. Tutaj otwórz powłokę PostgreSQL na terminalu. Stamtąd użyj następującej składni, aby skopiować tabelę z źródłowej bazy danych do docelowej bazy danych. Zauważ, że polecenie jest takie samo dla systemu Windows i Ubuntu.

PG_DUMP -u Postgres -t Table docelowy -tabaza źródłowa | PSQL -u Postgres Databaza

W poniższym przykładzie „floatDemo” jest tabelą docelową, a „postgres” po niej jest nasza źródła baza danych. „LinuxDemo” to docelowa baza danych. Więc wymień to samo w swojej sprawie. Następnie uruchom polecenie.

Wprowadź hasło PostgreSQL dla użytkownika zalogowanego, aby uwierzytelnić akcję. Otrzymasz komunikat wyjściowy potwierdzający, że akcja kopiowania zostanie zakończona pomyślnie.

Sprawdź skopiowaną tabelę

Po wykonaniu polecenia kopiowania ostatnim krokiem jest sprawdzenie, czy działanie jest zakończone zgodnie z oczekiwaniami. Otwórz powłokę PostgreSQL i połącz się z docelową bazą danych. Po podłączeniu wymień dostępne tabele, aby sprawdzić, czy utworzony jest nowy wpis dla skopiowanej tabeli. Jeśli tak, sprawdź jego zawartość za pomocą polecenia Wybierz *.

Potwierdzamy, że nasza zduplikowana tabela jest pomyślnie skopiowana z źródłowej bazy danych do docelowej bazy danych w PostgreSQL.

Wniosek

PostgreSQL pozwala szybko skopiować tabelę z jednej bazy danych do drugiej za pomocą polecenia „PG_DUMP”. Wyjaśniliśmy proces krok po kroku, zapewniając praktyczne przykład. Teraz rozumiesz, jak kopiować tabele w bazach danych PostgreSQL.