Zum Inhalt springen

PostgreSQL-Import

Um eine Abfrage direkt auf einer laufenden PostgreSQL-Datenbank auszuführen, wird die postgres-Erweiterung benötigt.

Installation und Laden

Die Erweiterung kann mit dem SQL-Befehl INSTALL installiert werden. Das muss nur einmal ausgeführt werden.

INSTALL postgres;

Um die Erweiterung postgres zur Verwendung zu laden, verwenden Sie den SQL-Befehl LOAD:

LOAD postgres;

Verwendung

Nachdem die Erweiterung postgres installiert ist, können Tabellen mit der Funktion postgres_scan aus PostgreSQL abgefragt werden:

-- Scan the table "mytable" from the schema "public" in the database "mydb"
SELECT * FROM postgres_scan('host=localhost port=5432 dbname=mydb', 'public', 'mytable');

Der erste Parameter der Funktion postgres_scan ist die PostgreSQL-Verbindungszeichenkette, eine Liste von Verbindungsargumenten im Format {key}={value}. Nachfolgend eine Liste gültiger Argumente.

Name Beschreibung Standard
host Name des Hosts für die Verbindung localhost
hostaddr IP-Adresse des Hosts localhost
port Portnummer 5432
user PostgreSQL-Benutzername [OS-Benutzername]
password PostgreSQL-Passwort
dbname Datenbankname [user]
passfile Name der Datei, in der Passwörter gespeichert sind ~/.pgpass

Alternativ kann die gesamte Datenbank mit dem Befehl ATTACH angehängt werden. So können Sie alle in der PostgreSQL-Datenbank gespeicherten Tabellen abfragen, als wäre sie eine reguläre Datenbank.

-- Attach the PostgreSQL database using the given connection string
ATTACH 'host=localhost port=5432 dbname=mydb' AS test (TYPE postgres);
-- The table "tbl_name" can now be queried as if it is a regular table
SELECT * FROM test.tbl_name;
-- Switch the active database to "test"
USE test;
-- List all tables in the file
SHOW TABLES;

Weitere Informationen finden Sie in der Dokumentation der PostgreSQL-Erweiterung.