Как я могу обновить sh импортированную таблицу CSV в PGADMIN III - PullRequest
0 голосов
/ 22 января 2020

Я импортировал CSV-файл в таблицу sql, но этот CSV-файл будет регулярно меняться. Есть ли способ обновить таблицу sh на основе изменений в файле csv, не удаляя таблицу, не создавая ее снова и не используя функцию импорта в pgadmin?

Если возможно, будет ли такое решение также для всей схемы, состоящей из таблиц, основанных на импортированных CSV-файлах?

Заранее спасибо!

1 Ответ

0 голосов
/ 22 января 2020

Изменить для добавления: Предполагается, что у вас есть достаточный доступ к серверу postgres, а не просто решение PGADMIN.

Вы можете сделать этот файл FDW (File Data Wrapper).

https://www.postgresql.org/docs/9.5/file-fdw.html или для вашей правильной версии.

Например, у меня есть настройка FDW для просмотра файла журнала Postgres из SQL вместо необходимости открывать сеанс s sh на сервере.

Файл существует в виде таблицы в схеме при доступе к ней обновляются данные из файла.

Код, который я использовал для файла, выглядит следующим образом, очевидно, файл должен находиться в локальной системе сервера db.



create foreign table pglog
    (
        log_time timestamp(3) with time zone,
        user_name text,
        database_name text,
        process_id integer,
        connection_from text,
        session_id text,
        session_line_num bigint,
        command_tag text,
        session_start_time timestamp with time zone,
        virtual_transaction_id text,
        transaction_id bigint,
        error_severity text,
        sql_state_code text,
        message text,
        detail text,
        hint text,
        internal_query text,
        internal_query_pos integer,
        context text,
        query text,
        query_pos integer,
        location text,
        application_name text
        )
    server pglog
    options (filename '/var/db/postgres/data11/log/postgresql.csv', format 'csv');
...