Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added VACUUM to preparation steps. Added clean-up step.

...

  1. Establish your SSH tunnel to the target EAS database server.
  2. Invoke pgAdmin and navigate to the target database, and then the output table (bulkloader.address_extract).
  3. Right-click the output table and invoke the Query Tool.
  4. Verify that the output table is not empty.

    Code Block
    languagesql
    SELECT COUNT(*) AS record_count
    FROM   bulkloader.address_extract;


  5. If the output table is not empty (record_count > 0), then truncate the output table and vacuum the database.

    Code Block
    languagesql
    TRUNCATE bulkloader.address_extract;
    VACUUM FULL ANALYZE;


  6. Verify that the output table is now empty (record_count = 0).

    Code Block
    languagesql
    SELECT COUNT(*) AS record_count
    FROM   bulkloader.address_extract;


  7. After your next bulk-load attempt, the output table will only contain results from that bulk-load attempt.
  8. Repeat these steps as needed.

...

  1. Addresses that were successfully bulk-loaded will have a date in the field load_tms and a NULL value in the field exception_text.

    Code Block
    languagesql
    SELECT *
    FROM   bulkloader.address_extract
    WHERE  NOT(load_tms IS NULL)
           AND (exception_text IS NULL); -- Successfully bulk-loaded.


  2. The presence of exception text indicates a problem with the source data.

    Code Block
    languagesql
    SELECT *
    FROM   bulkloader.address_extract
    WHERE  NOT(exception_text IS NULL); -- Bulk-load exception.


  3. To rectify bulk-load exceptions, do not correct any exception records in the output table bulkloader.address_extract. Instead, correct the corresponding records in the source data and then re-run the Bulk Loader.
  4. If block and lot values were included in the input data, a value should be found in the field address_x_parcel_id.

    Code Block
    languagesql
    SELECT *
    FROM   bulkloader.address_extract
    WHERE  NOT(address_x_parcel_id IS NULL); -- Block and lot values were included in the input data.
    
    SELECT *
    FROM   bulkloader.address_extract
    WHERE  (address_x_parcel_id IS NULL); -- Block and lot values were *not* included in the input data


  5. Base addresses that were submitted by the Bulk Loader but were already in the EAS are indicated by values in the fields address_base_id and load_tms, and NULL values in the fields street_segment, zone_id or exception_text.

    Code Block
    languagesql
    SELECT *
    FROM   bulkloader.address_extract
    WHERE  NOT(address_base_id IS NULL)
            AND NOT(load_tms IS NULL)
            AND (street_segment_id IS NULL)
            AND (zone_id IS NULL)
            AND (exception_text IS NULL); -- Base addresses that were already in the EAS.


Free space after large Bulk Loader batches

After successful loading and evaluating large batches of addresses, clean up the database by truncating the Bulk Loader output table (bulkloader.address_extract) and vacuuming the database.

Code Block
languagesql
TRUNCATE bulkloader.address_extract;
VACUUM FULL ANALYZE;