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 stringATTACH 'host=localhost port=5432 dbname=mydb' AS test (TYPE postgres);-- The table "tbl_name" can now be queried as if it is a regular tableSELECT * FROM test.tbl_name;-- Switch the active database to "test"USE test;-- List all tables in the fileSHOW TABLES;Weitere Informationen finden Sie in der Dokumentation der PostgreSQL-Erweiterung.