За подробной информацией о хранилищах обратитесь к Главе 15.
Перед выполнением этого сценария:
Чтобы подключиться к S3-хранилищу:
Установите значение true для параметров конфигурации duckdb.unsafe_allow_execution_inside_functions и duckdb.convert_unsupported_numeric_to_double:
ALTER SYSTEM SET duckdb.unsafe_allow_execution_inside_functions TO true; SET duckdb.convert_unsupported_numeric_to_double = true;
Перезагрузите сервер Postgres Pro AXE:
SELECT pg_reload_conf();
Создайте простой секрет с помощью функции duckdb.create_simple_secret.
Пример D.1.
SELECT duckdb.create_simple_secret(
type := 'S3',
key_id := 'access_key_ID_example',
secret := 'simple_secret_example',
region := '',
url_style := 'path',
endpoint := 'hostname:port',
use_ssl := 'false');Пример D.2.
SELECT metastore.add_storage('s3_storage_example', 's3://demo/s3_storage_example/','s3://demo/s3_storage_example/tmp/');Убедитесь, что S3-хранилище правильно настроено:
Создайте таблицу-кучу с помощью команды CREATE TABLE.
Пример D.3.
CREATE TABLE heap_table_example (id int4 NULL, "name" text NULL, price numeric(10,2) NULL, created_at timestamp NULL);
Вставьте строки в таблицу-кучу с помощью команды INSERT.
Пример D.4.
INSERT INTO heap_table_example VALUES (1, 'Item 1', 150.99, '2025-08-09 00:01:01.75'); INSERT INTO heap_table_example VALUES (2, 'Item 2', 300.99, '2025-08-10 00:01:01.75');
Создайте аналитическую таблицу из таблицы-кучи.
Пример D.5.
SELECT metastore.add_table('analytical_table_example', 's3_storage_example', 'public.heap_table_example', '');Скопируйте OLAP-данные в аналитическую таблицу из таблицы-кучи.
Пример D.6.
SELECT metastore.copy_table('analytical_table_example', $$select * from heap_table_example$$);Создайте представление Postgres Pro из аналитической таблицы.
Пример D.7.
SELECT metastore.create_view('analytical_table_example');Убедитесь, что значения, которые вы вставили в таблицу-кучу, можно получить из аналитической таблицы.
Пример D.8.
SELECT * from analytical_table_example;