Hvordan kopiere en tabell fra en database til en annen i PostgreSQL

Hvordan kopiere en tabell fra en database til en annen i PostgreSQL
Når du jobber med PostgreSQL, lagres dataene i tabeller. Når du oppretter en database for å lagre en gitt enhet, er enheten representert som en tabell der du setter inn verdiene. Du kan ha forskjellige tabeller i en gitt database, men du kan ikke åpne to databaser samtidig.

Derfor, når du vil få tilgang til en tabell i en annen database, er det beste alternativet å kopiere den og alle dataene i den nåværende databasen. Vi er hovedsakelig vant til å kopiere tabeller i samme database. Imidlertid er vårt fokus i dag på hvordan du kopierer en tabell fra en database til en annen i PostgreSQL. La oss grave inn!

Trinn-for-trinns guide for å kopiere en tabell fra en database til en annen i PostgreSQL

PostgreSQL er avhengig av “PG_DUMP” -verktøyet for å kopiere tabellene på tvers av forskjellige databaser. Den kopierte tabellen vil ha alle dataene flyttet til den nye databasen. På den måten vil du ha en rask måte å duplisere tabellen når du jobber med forskjellige databaser.

Ulike trinn er involvert i å kopiere en tabell fra en database til en annen i PostgreSQL. For dette eksemplet har vi PostgreSQL installert på Ubuntu, og vi får tilgang til det fra skallet. Trinnene er like når du jobber med et annet miljø som Windows, med bare en mindre forskjell.

Åpne PostgreSql -skallet

Du må først få tilgang til PostgreSql -skallet for å få tilgang til tabellen du ønsker å kopiere fra en database til en annen. Følgende kommandoer tar opp PostgreSQL -databasen. Du kan oppgi passordet ditt for å få tilgang til databasen med den spesifiserte brukerkontoen:

$ sudo -iu postgres
$ psql

Liste over tilgjengelige databaser

Du må sjekke den tilgjengelige databasen for å bestemme kilde- og destinasjonsdatabasen for tabellen du ønsker å kopiere.

# \ l

Du kan raskt opprette en hvis du ikke har en måldatabase.

For vårt eksempel bruker vi "Postgres" som vår kildedatabase og har "LinuxDemo" som måldatabase der vi kopierer tabellen i "Postgres" -databasen.

Finn måltabellen

Fra terminalskallet kan vi allerede merke at vi er koblet til databasen "Postgres". I så fall kan vi liste opp de tilgjengelige tabellene ved å bruke \ dt Kommando for å finne tabellen som vi ønsker å kopiere til vår nye database.

# \ dt

Her har vi bare ett bord som heter “Floatdemo”. Vi kan åpne den for å sjekke innholdet før vi kopierer det.

Bekreft om tabellen ikke eksisterer i måldatabasen

Før du kopierer tabellen, må du sørge for at måldatabasen ikke har noen tabell som deler samme navn som den du ønsker å kopiere. Tilsvarende, ikke lag en tabell som vil øke en feil når du kopierer måltabellen.

Bytt ut følgende kommando med måldatabasen din:

# \ c linuxdemo;

Neste, liste tabellene i databasen for å sjekke om det er noen samsvar med den du vil kopiere.

# \ dt

Utfør kopieringskommandoen

Kommandoen for å kopiere tabellen avhenger av om du bruker Windows eller Ubuntu. Når det gjelder Windows, må du finne veien til PostgreSQL -filene på systemet ditt. For eksempel, hvis du kjører PostgreSQL v14, vil du sannsynligvis være din vei C: \ Program Files \ PostgreSql \ 14 \ bin. Når du har fått banen, kan du åpne CMD og navigere til den katalogen. Du utfører deretter kopikommandoen på CMD.

I vårt tilfelle bruker vi Ubuntu, og hvordan vi utfører kommandoen er annerledes. Her åpner du PostgreSql -skallet på terminalen. Derfra bruker du følgende syntaks for å kopiere tabellen fra kildedatabasen til måldatabasen. Merk at kommandoen er den samme for Windows og Ubuntu.

PG_DUMP -U Postgres -t Target -Table Source -Database | PSQL -U Postgres måldatabase

I det følgende eksemplet er "Floatdemo" måltabellen og "Postgres" som følger det er vår kildedatabase. "LinuxDemo" er måldatabasen. Så erstatt det samme på saken din. Kjør deretter kommandoen.

Skriv inn PostgreSQL-passordet ditt for den innloggede brukeren for å autentisere handlingen. Du vil få en utgangsmelding som bekrefter at kopieringen er fullført.

Bekreft det kopierte tabellen

Etter å ha utført kopikommandoen, er det siste trinnet å sjekke om handlingen er fullført som forventet. Åpne PostgreSQL -skallet og koble til måldatabasen. Når den er koblet til, må du liste til de tilgjengelige tabellene for å sjekke om det opprettes en ny oppføring for den kopierte tabellen. I så fall kan du sjekke innholdet ved å bruke Select * -kommandoen.

Vi bekrefter at vår duplikattabell er kopiert fra kildedatabasen til måldatabasen i PostgreSQL.

Konklusjon

PostgreSQL lar deg raskt kopiere en tabell fra en database til en annen ved hjelp av “PG_DUMP” -kommandoen. Vi forklarte trinn-for-trinn-prosessen mens vi ga et praktisk eksempel. Du forstår nå hvordan du kopierer tabeller over PostgreSQL -databaser.