EVL – ETL Tool


Products, services and company names referenced in this document may be either trademarks or registered trademarks of their respective owners.

Copyright © 2017–2022 EVL Tool, s.r.o.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.

Table of Contents

Writepg

(since EVL 1.3)

Write stdin or <f_in> into <table> of PostgreSQL. If the table is not empty, it is truncated unless "–append" option is used.

Password is taken:

  1. from file ‘$EVL_PASSFILE’, which is by default ‘$HOME/.evlpass’,
  2. from file ‘$PGPASSFILE’, which is by default ‘$HOME/.pgpass’.

When such file has not permissions 600, it is ignored! For details see ‘evl-password’.

Writepg

is to be used in EVS job structure definition file. <f_in> is either input file or flow name.

evl writepg

is intended for standalone usage, i.e. to be invoked from command line and reading records from standard input.

EVD and EVS are EVL definition files, for details see evl-evd(5) and evl-evs(5).

Synopsis

Writepg
  <f_in> [<database>.]<table> (<evd>|-d <inline_evd>)
  [-x|--text-input] [-a|--append] [--psql=<psql-options>]
  [--dbname=<database>] [--host=<hostname>] [--port=<port>] [--username=<user>]

evl writepg
  [<database>.]<table> (<evd>|-d <inline_evd>)
  [-x|--text-input] [-a|--append] [--psql=<psql-options>]
  [--dbname=<database>] [--host=<hostname>] [--port=<port>] [--username=<user>]
  [-v|--verbose]

evl writepg
  ( --help | --usage | --version )

Options

-d, --data-definition=<inline_evd>

either this option or the file <evd> must be presented. Example: ‘-d 'id int, name string, started timestamp'

-a, --append

target table is appended, not truncated

-x, --text-input

suppose the input as text, not binary

Standard options:

--help

print this help and exit

--usage

print short usage information and exit

-v, --verbose

print to stderr info/debug messages of the component

--version

print version and exit

’psql’ options:

--dbname=<database>

either this or environment variable ‘PGDATABASE’ should be provided, if not, then current system username is used as psql database. If also ‘PGDATABASE’ environment variable is set, this option has preference. (This option is provided to ‘psql’ command.)

--host=<hostname>

either this or environment variable ‘PGHOST’ should be provided when connecting to other host than localhost. If also ‘PGHOST’ variable is set, this option has preference. (This option is provided to ‘psql’ command.)

--port=<port>

either this or environment variable ‘PGPORT’ should be provided when using other than standard port ‘5432’. (This option is provided to ‘psql’ command.)

--psql=<psql_options>

all other options to be provides to psql command. See ‘man psql’ for details.

--username=<user>

either this or environment variable ‘PGUSER’ should be provided, if not, then current system username is used as psql user. If variable ‘PGUSER’ is set, this option has preference. (This option is provided to ‘psql’ command.)