PostgreSQL UDF output plugin for Embulk
Dumps records to PostgreSQL via user-defined function.
Overview
- Plugin type: output
- Resume supported: no
Configuration
- host: database host name description (string, required)
- port: database port number (integer, default: 5432)
- user: database login user name (string, required)
- password: database login password (string, default: "")
- database: destination database name (string, required)
- schema: database login password (string, default: "public")
- function: function body (string, required)
- language: function language (string, default: "plpgsql")
Example
in:
type: file
path_prefix: /path/to/csv/sample_
parser:
charset: UTF-8
newline: CRLF
type: csv
delimiter: ','
quote: '"'
escape: ''
skip_header_lines: 1
columns:
- {name: id, type: long}
- {name: account, type: long}
- {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
- {name: purchase, type: timestamp, format: '%Y%m%d'}
- {name: comment, type: string}
out:
type: postgres_udf
host: localhost
user: postgres
database: postgres
function: |
begin
begin
create table if not exists sample (
id integer,
account integer,
time timestamp,
purchase timestamp,
comment text
);
exception
when unique_violation then -- do nothing
end;
insert into sample values(id, account, time, purchase, comment);
end;
Build
$ ./gradlew gem