Loading IXF Data

This command instructs pgloader to load data from an IBM IXF file. Here’s an example:

LOAD IXF
    FROM data/nsitra.test1.ixf
    INTO postgresql:///pgloader
  TARGET TABLE nsitra.test1
    WITH truncate, create table, timezone UTC

  BEFORE LOAD DO
   $$ create schema if not exists nsitra; $$,
   $$ drop table if exists nsitra.test1; $$;

The ixf format command accepts the following clauses and options.

IXF Source Specification: FROM

Filename where to load the data from. This support local files, HTTP URLs and zip files containing a single ixf file of the same name. Fetch such a zip file from an HTTP address is of course supported.

IXF Loading Options: WITH

When loading from a IXF file, the following options are supported:

  • truncate

    When this option is listed, pgloader issues a TRUNCATE command against the PostgreSQL target table before reading the data file.

  • disable triggers

    When this option is listed, pgloader issues an ALTER TABLE … DISABLE TRIGGER ALL command against the PostgreSQL target table before copying the data, then the command ALTER TABLE … ENABLE TRIGGER ALL once the COPY is done.

    This option allows loading data into a pre-existing table ignoring the foreign key constraints and user defined triggers and may result in invalid foreign key constraints once the data is loaded. Use with care.

  • create table

    When this option is listed, pgloader creates the table using the meta data found in the DBF file, which must contain a list of fields with their data type. A standard data type conversion from DBF to PostgreSQL is done.

  • table name

    This options expects as its value the possibly qualified name of the table to create.

  • timezone

    This options allows to specify which timezone is used when parsing timestamps from an IXF file, and defaults to UTC. Expected values are either UTC, GMT or a single quoted location name such as ‘Universal’ or ‘Europe/Paris’.