Spec-Zone.ru › DuckDB

Импорт 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API