POSTGRESQL_DATA_WRITER
POSTGRESQL_DATA_WRITER массовый загрузчик, подходящий для загрузки большого количества записей в базу данных PostgreSQL. Считывает данные через входной порт. Использует специальную утилиту Copy, которая позволяет загружать данные очень быстро. Для остальных случаев лучше использовать DATABASE_WRITER, для которого не требуется использование специальной утилиты.
Порты POSTGRESQL_DATA_WRITER:
Тип порта | Номер | Обязательный | Описание | Метаданные |
---|---|---|---|---|
Input | 1-n | да | Записи для загрузки в базу данных | Любые |
Атрибуты POSTGRESQL_DATA_WRITER:
Атрибут | Обязательный | Описание | Возможные значения |
---|---|---|---|
dbConnection | да | Параметры соединения с базой данных. В список параметров для подключения могут входить: database, user, password, host, port. Параметры можно указать в атрибуте конкретного шага либо в глобальных параметрах графа. |
|
table | да | Имя таблицы, в которую производится запись |
|
parameters | нет | Параметры, которые могут использоваться в качестве параметров утилитой psql или оператором \copy. Указывается последовательность ключ=значение, отделенные друг от друга точкой с запятой, двоеточием или вертикальной чертой. Если значение какого-либо параметра содержит точку с запятой, двоеточие или вертикальную черту, такое значение должно быть заключено в двойные кавычки. Сейчас доступны к указанию columns |
|
Пример.
Необходимо загрузить записи с метаданными «Product» (string), «Amount» (int), «date» (date) и «Price» (float) в таблицу Products в базу данных postgres с именем пользователя user001.
Укажите параметры подключения в атрибутах графа и шага POSTGRESQL_DATA_WRITER:
<Connection id="CONN" name="dev" dbURL="postgres://username:admin@localhost:5432/test"/>
<GraphParameters>
<GraphParameter name="COLUMNS" value="my_boolean,my_integer,my_number,my_decimal,my_string" public="true" />
</GraphParameters>
...
<Node id="psql_writer" dbConnection="CONN" table="my_data_test" parameters="columns="${COLUMNS}"" type="POSTGRESQL_DATA_WRITER" />
Данные будут внесены в базу: