Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал.
Использование внешних таблиц для доступа к csv-файлам
Продолжение статьи
О файлах csv есть несколько статей на моём канале, например вот эта
Создание внешней таблицы доступа к csv-файлу похоже на то, как создавать внешние таблицы к таблицам других серверов. Но есть, нюансы. И так
Предварительно нужно создать расширение file_fdw, если оно не создано ранее.
create extension file_fdw;
Следующий шаг создание сервера для расширения filt_fdw.
create server serv2 foreign data wrapper file_fdw;
Как и предыдущем случае разрешим доступ пользователя, например postgres к серверу.
create user mapping for postgres server serv2;
Ну и наконец создание самой внешней таблицы.
create foreign table public.ftbl (
name text,
position text,
year integer,
salary integer
)
server serv2
options (
filename 'table.csv',
format 'csv',
header 'true',
delimiter ','
);
Путь к файлу здесь идёт от корневого каталога PostgreSQL. У меня он находится здесь /var/lib/pgsql/data, именно там лежит указанный файл. Ещё один важный момент. Структура таблицы должна соответствовать структуре файла csv. Кроме этого мы явно указали разделитель в файле csv, это важный момент и это важный момент.
После того, как внешняя таблица создана, к ней можно обращаться обычным способом
select * from ftbl1;
Пока всё!
Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.