要在运行的PostgreSQL数据库上直接运行查询,需要postgres
扩展。
Installation and Loading
扩展可以使用INSTALL
SQL命令安装。这只需要运行一次。
INSTALL postgres;
要加载postgres
扩展以供使用,请使用LOAD
SQL命令:
LOAD postgres;
Usage
在安装postgres
扩展后,可以使用postgres_scan
函数从PostgreSQL查询表:
-- Scan the table "mytable" from the schema "public" in the database "mydb"
SELECT * FROM postgres_scan('host=localhost port=5432 dbname=mydb', 'public', 'mytable');
postgres_scan
函数的第一个参数是 PostgreSQL 连接字符串,这是一个以 {key}={value}
格式提供的连接参数列表。以下是有效参数的列表。
Name | Description | Default |
---|---|---|
host |
Name of host to connect to | localhost |
hostaddr |
Host IP address | localhost |
port |
Port number | 5432 |
user |
PostgreSQL 用户名 | [操作系统用户名] |
password |
PostgreSQL 密码 | |
dbname |
Database name | [user] |
passfile |
Name of file passwords are stored in | ~/.pgpass |
或者,可以使用ATTACH
命令附加整个数据库。这允许您查询存储在PostgreSQL数据库中的所有表,就像它是一个常规数据库一样。
-- 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;
更多信息请参阅PostgreSQL扩展文档。