Version 17.5
This is a maintenance release to fix several issues reported by users.
There is also some major improvements and new features.
There is a new configuration directive or change default behavior:
- Fix export of CLOBs and NCLOB that was truncated to 64 Kb.
- PG_BACKGROUND : when enabled autonomous transactions will be
built using Robert Haas extension pg_background instead of dblink.
Default is to still used dblink as pg_background is available
only for PostgreSQL >= 9.5. - All Perl I/O now use the open pragma instead of calling method
binmode(). This will force input and output to utf8 using the
Perl pragma:
use open ':encoding(utf8)';
when configuration directive BINMODE is not set or NLS_LANG is
set to UTF8. - Ora2Pg will now export empty lob as empty string instead of NULL
when the source column has NOT NULL constraint and that directive
EMPTY_LOB_NULL is not activated. - Improve and fix progress bar especially when using JOBS/-J option.
- Allow LOAD action to apply all settings defined in the input file
on each opened session, this allow to use LOAD with export schema
enabled. If settings are not set in the input file encoding and
search_path is set from the ora2pg configuration settings. - NUMBER(*,0) is now exported as numeric(38) as well as a NUMBER
with DATA_SCALE set to 0, no DATA_PRECISION and a DATA_LENGTH
of 22. The last correspond to Oracle type INTEGER or INT. - Allow conversion of type with precision in DATA_TYPE directive.
For example it is possible to transform all NUMBER(12,2) only
into numeric(12,2) by escaping the comma. Example:
DATA_TYPE NUMBER(12\,2):numeric(12\,2);...
- Write data exported into temporary files (prefixed by tmp_) and
renamed them at end of the export to be able to detect incomplete
export and override it at next export. - Add export of type created in package declaration.
- Export foreign key when the referenced table is not in the
same schema. - Enabled by default PG_SUPPORTS_CHECKOPTION assuming that your Pg
destination database is at least a 9.4 version. - Add 12 units to migration assessment report per table/column
conflicting with a reserved word in PostgreSQL to reflect the
need of code rewriting. - Output a warning when a column has the same name than a system
column (xmin,xmax,ctid,etc.) - Replace SYSDATE by a call to clock_timestamp() instead of a call
to LOCALTIMESTAMP in plpgsql code. - Add missing documentation about DISABLE_PARTITION directive used
to not reproduce partitioning into PostgreSQL and only export
partitioned data into the main table.
See changelog for a complete list of changes.