Capabilities for PostgreSQL

From HVR
Jump to: navigation, search

This section describes the capabilities supported by HVR on PostgreSQL. For more information about the requirements, access privileges, and other features of HVR when using Aurora MySQL for replication, see Requirements for PostgreSQL.

Capture

HVR supports the following capabilities on PostgreSQL:

  • Capture changes from location (PostgreSQL version 8.0 and above)
  • Log-based capture (capture from DBMS logging system) (PostgreSQL version 9.4 and above)
  • Log-based capture of tables without a primary key (PostgreSQL version 9.4 and above)
  • Direct access to logs on a file system (PostgreSQL version 9.4 and above)
  • Access to logs using SQL interface (PostgreSQL version 9.4 and above)
  • Log-based capture with /LogReadMethod param (PostgreSQL version 9.4 and above)
  • Log-based capture of tables with LOB column (PostgreSQL version 9.4 and above)
  • Rewind log-based capture to specific time (hvrinit option -i) (PostgreSQL version 9.4 and above)
  • Rewind log-based capture to the beginning of currently active oldest transaction (PostgreSQL version 9.4 and above)
  • Multiple log-based capture jobs can capture from same database (PostgreSQL version 9.4 and above)
  • Log-based capture checkpointing (action Capture /CheckpointingFrequency) (PostgreSQL version 9.4 and above)


HVR does not support the following capabilities on PostgreSQL:

  • Log-based capture of DDL statements using action AdaptDDL
  • Log-based capture from hidden rowid column (ColumnProperties /CaptureFromRowId)
  • Rewind log-based capture to the beginning of currently active oldest transaction for a specific list of tables
  • Online refresh using accurate LSN/SCN
  • Populates column hvr_cap_user for use in ColumnProperties {hvr_cap_user} substitutions
  • Log-based capture of truncate table statements
  • Capture from tables with basic compression
  • hvrlogrelease to preserve journal/archives
  • Read archives from an alternative directory (Capture /ArchiveLogPath)
  • Trigger-based capture (action Capture /TriggerBased)


HVR Hub

HVR supports Hub database (PostgreSQL version 8.0 and above)


Integrate

HVR supports the following capabilities on PostgreSQL:

  • Integrate changes into location (PostgreSQL version 8.0 and above)
  • Integrate with /Burst (PostgreSQL version 8.0 and above)
  • Integrate with /BurstCommitFrequency (PostgreSQL version 8.0 and above)
  • Continuous integration (Integrate without /Burst) (PostgreSQL version 8.0 and above)
  • Action TableProperties with /DuplicateRows for continuous integration (PostgreSQL version 8.0 and above)
  • Continuous integrate with /OnErrorSaveFailed (without /Burst) (PostgreSQL version 8.0 and above)
  • Action Transform /SoftDelete (PostgreSQL version 8.0 and above)
  • Creation and update of HVR state tables


HVR does not support the following capabilities on PostgreSQL:

  • Disable/enable database triggers during integrate (/NoTriggerFiring)
  • Integrate with /DbProc


Bi-directional Replication

HVR supports the following capabilities on PostgreSQL:

  • Detection of changes made by HVR in a bidirectional channel to prevent loop-back (PostgreSQL version 8.0 and above, state table needs to be created before replication starts)
  • Collision Detect with /TimestampColumn (PostgreSQL version 8.0 and above)


HVR does not support the following capabilities on PostgreSQL:


Refresh and Compare

HVR supports the following capabilities on PostgreSQL:

  • Refresh or Compare from source location
  • Refresh into target location
  • Row-wise refresh into target location (option -g)
  • Select data from each table from same consistent moment in time using a single transaction (and session) with 'serializable' SQL isolation level (refresh option -Mserializable)


Other Capabilities

HVR supports the following capabilities on PostgreSQL:

  • Treat DBMS table names and columns case sensitive (action LocationProperties /CaseSensitiveNames)


HVR does not support the following capabilities on PostgreSQL:

  • Use distribution key for parallelizing changes within a table (ColumnProperties /DistributionKey)
  • International table and column names where DBMS is not configured with UTF-8 encoding
  • Lossless binary float datatypes. No dataloss when transporting float values (because base 2 fractions are never converted to base 10)