Импорт PostgreSQL
Для выполнения запроса напрямую к базе данных PostgreSQL, требуется postgres расширение.
Установка и загрузка
Расширение можно установить с помощью команды SQL INSTALL. Это необходимо выполнить только один раз.
INSTALL postgres;
Для загрузки postgres расширения для использования, используйте команду SQL LOAD.
LOAD postgres;
Использование
После установки postgres расширения, таблицы PostgreSQL можно запросить с помощью функции postgres_scan.
-- 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}. Ниже приведен список допустимых аргументов.
| Имя | Описание | Значение по умолчанию |
|---|---|---|
host | Имя хоста для подключения | localhost |
hostaddr | IP-адрес хоста | localhost |
port | Номер порта | 5432 |
user | Имя пользователя PostgreSQL | [Имя пользователя ОС] |
password | Пароль пользователя PostgreSQL | |
dbname | Имя базы данных | [имя пользователя] |
passfile | Имя файла, в котором хранятся пароли | ~/.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.
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/guides/database_integration/postgres.html