1 System Requirements and Preinstallation Instructions

This chapter contains the requirements for the system and database resources that support Oracle GoldenGate and contains the following sections:

1.1 Overview of Oracle GoldenGate for PostgreSQL

Oracle GoldenGate for PostgreSQL supports the mapping, manipulation, filtering, and delivery of data from other types of databases to a PostgreSQL database. Oracle GoldenGate does not support the capture of data from PostgreSQL to other PostgreSQL databases or to other kinds of databases.

1.2 Verifying Certification and System Requirements

Make sure that you are installing your product on a supported hardware or software configuration. For more information, see the certification document for your release on the Oracle Fusion Middleware Supported System Configurations page.

Oracle has tested and verified the performance of your product on all certified systems and environments; whenever new certifications occur, they are added to the proper certification document right away. New certifications can occur at any time, and for this reason the certification documents are kept outside of the documentation libraries and are available on Oracle Technology Network.

1.3 Operating System Requirements

This section explains the requirements of Oracle GoldenGate to work within the host operating system of the target PostgreSQL database.

1.3.1 Memory Requirements

The amount of memory that is required for Oracle GoldenGate depends on the number of concurrent processes that will be running. At minimum on a PostgreSQL target system, there is at least one Replicat process that applies the replicated data to the target database. Depending on the amount or type of data that you are applying to the PostgresSQL target, you may decide to use additional Replicat processes. Oracle GoldenGate supports up to 5,000 concurrent processes per instance of Oracle GoldenGate. Each process needs approximately 25-55 MB of memory, or more depending on the size of the transactions and the number of concurrent transactions.

The actual amount of physical memory that is used by any Oracle GoldenGate process is controlled by the operating system, not the Oracle GoldenGate program. The Oracle GoldenGate cache manager takes advantage of the memory management functions of the operating system to ensure that Oracle GoldenGate processes work in a sustained and efficient manner. For more information about evaluating Oracle GoldenGate memory requirements, see the CACHEMGR parameter in the Oracle GoldenGate Windows and UNIX Reference Guide.

1.3.2 Disk Requirements

  • 50-150 MB, depending on the platform. This includes space for the compressed download file and space for the uncompressed files. You can delete the download file after the installation is complete.

  • 40 MB for the working directories and binaries for each instance of Oracle GoldenGate that you are installing on the system. For example, to install two builds of Oracle GoldenGate into two separate directories, allocate 80 MB of space.

  • To install Oracle GoldenGate into a cluster environment, install the Oracle GoldenGate binaries and files on a shared file system that is available to all cluster nodes.

  • An additional 1 GB of disk space to contain the Oracle GoldenGate trails, which are files that contain the working data. You may need more or less than this amount, because the space that is consumed by the trails depends on the volume of data that will be processed. See the guidelines for sizing trails in Administering Oracle GoldenGate for Windows and UNIX.

  • To prevent trail activity from interfering with business applications, assign a separate disk or file system to contain the trail files. Trail files accumulate but can be purged according to rules set with the PURGEOLDEXTRACTS parameter. Trail files can reside on drives that are local to the Oracle GoldenGate installation, or they can reside on NAS or SAN devices. You will specify the location of the trails when you configure Oracle GoldenGate.

1.3.3 Network

  • Configure the system to use TCP/IP services, including DNS. Oracle GoldenGate supports IPv4 and IPv6 and can operate in a system that supports one or both of these protocols.

  • Configure the network with the host names or IP addresses of all systems that will be hosting Oracle GoldenGate processes and to which Oracle GoldenGate will be connecting. Host names are easier to use.

  • Oracle GoldenGate requires some unreserved and unrestricted TCP/IP ports, the number of which depends on the number and types of processes in your configuration. See Administering Oracle GoldenGate for Windows and UNIX for details on how to configure the Manager process to handle the required ports.

  • Configure your firewalls to accept connections through the Oracle GoldenGate ports.

1.3.4 Operating System Privileges

  • To install on UNIX, the person who installs Oracle GoldenGate must have read and write privileges on the Oracle GoldenGate installation directory.

  • The Oracle GoldenGate processes must operate as an operating system user that has privileges to read, write, and delete files and subdirectories in the Oracle GoldenGate directory. In addition, the Manager process requires privileges to control the other Oracle GoldenGate processes.

  • Dedicate the Oracle GoldenGate operating system users to Oracle GoldenGate. Sensitive information might be available to anyone who runs an Oracle GoldenGate process.

1.3.5 Itanium Requirements

To install Oracle GoldenGate on a Microsoft Itanium system, the vcredist_IA64.exe runtime library package must be installed. You can download this package from the Microsoft website. This package includes Visual Studio DLLs necessary for Oracle GoldenGate to operate on the Itanium platform. If these libraries are not installed, Oracle GoldenGate generates the following error.

"The application failed to initialize properly (0xc0150002). Click on Ok to terminate the application.

1.3.6 Console

The operating system and the command console must have the same character sets. Mismatches occur on Microsoft Windows systems, where the operating system is set to one character set, but the DOS command prompt uses a different, older DOS character set. Oracle GoldenGate uses the character set of the operating system to send information to GGSCI command output; therefore a non-matching console character set causes characters not to display correctly. You can set the character set of the console before opening a GGSCI session by using the following DOS command:

chcp <OS character set>

If the characters do not display correctly after setting the code page, try changing the console font to Lucida Console, which has an extended character set.

1.3.7 Other Programs

  • Before installing Oracle GoldenGate on a Windows system, install and configure the Microsoft Visual C ++ 2005 SP1 Redistributable Package. Make sure it is the SP1 version of this package, and make certain to get the correct bit version for your server. This package installs runtime components of Visual C++ Libraries. For more information, and to download this package, go to:


  • Oracle GoldenGate fully supports virtual machine environments created with any virtualization software on any platform. When installing Oracle GoldenGate into a virtual machine environment, select a build that matches the database and the operating system of the virtual machine, not the host system.

1.4 Database Requirements

This section explains the requirements for Oracle GoldenGate to be able to connect to the PostgreSQL target database.

  • Create a database user that is dedicated to Oracle GoldenGate. It can be the same user for all of the Oracle GoldenGate Replicat processes that must connect to the PostgreSQL database.

  • To preserve the security of your data, and to monitor Oracle GoldenGate processing accurately, do not permit other users, applications, or processes to log on as, or operate as, the Oracle GoldenGate database user.

  • Keep a record of the database users. They must be specified in the Oracle GoldenGate parameter files with the USERID parameter.

  • This user connects to the PostgreSQL database through a supplied ODBC driver. You must take appropriate steps to license this driver during installation.

1.5 PostgreSQL Supported and Non-Supported Objects and Operations

  • Capture (extraction) of DML operations from PostgreSQL is not supported.

  • DDL (data definition language) operations are not supported.

  • PostgreSQL array semantics are not supported.

  • See Table 1-1 for supported and non-supported data types, followed by support limitations.

Table 1-1 Oracle GoldenGate Support for PostgreSQL Data Types

Name Alias Description Supported

Signed 8-byte integer



Autoincrementing 8-byte integer


bit [(n)]

Fixed-length bit string


bit varying [(n)]
varbit [(n)]

Variable-length bit string



Logical boolean (true/false)



Rectangular box on a plane



Binary data ("byte array")


character varying [(n)]
varchar [(n)]

Variable-length character string


character [(n)]
char [(n)]

Fixed-length character string



IPv4 or IPv6 network address



Circle on a plane



Calendar date (year, month, day)


double precision

Double precision floating-point number (8 bytes)



IPv4 or IPv6 host address


int, int4

Signed 4-byte integer


interval [fields] [(p)]

Time span



Infinite line on a plane



Line segment on a plane



MAC (Media Access Control) address



Currency amount


numeric [(p [,s])]
decimal [(p [,s])]

Exact numeric of selectable precision



Geometric path on a plane



Geometric point on a plane



Closed geometric path on a plane



Single precision floating-point number (4 bytes)



Signed 2-byte integer



Autoincrementing 4-byte integer



Variable-length character string


time [(p)] [without time zone]

Time of day (no time zone)


time [(p)] [with time zone]

Time of day, including time zone


timestamp [(p)] [without time zone]

Date and time (no time zone)


timestamp [(p)] [with time zone]

Date and time, including time zone



Text search query



Text search document



User-level transaction id snapshot



Universally unique identifier



XML data


1.6 Limitations of Data Type Support

This section describes limitations of Oracle GoldenGate delivery support for PostgresSQL as a target database.

Array Type

PostgreSQL array type is not supported.

Character Data

Character data cannot contain a U+0000 character, such as in 'abc\0abc', which is a 7 character data with a U+0000 in the middle. PostgreSQL treats U+0000 as an invalid character.

timestamptz Data Type

PostgreSQL timestamp with timezone column type is recognized as SQL_VARCHAR and therefore Oracle GoldenGate writes the data in the native format of the source database, rather than normalizing it to its PostgreSQL form. As a result, some replicated timestamp data might not be compatible with Oracle GoldenGate column-conversion functions and FILTER clauses.

Examples of accepted timestamp with time zone values:

"2011-05-05 05:05:12-07", "2011-05-05 05:05:12-7", "2011-05-05 05:05:12-07:00", "2011-05-05 05:05:12-700"

1.7 Oracle GoldenGate Features with Support Limitations for PostgreSQL

This section explains the limitations of support for certain Oracle GoldenGate features when operating on a PostgreSQL target database.


SQLEXEC cannot be used to execute PostgreSQL functions; however, SQLEXEC can be used to issue queries against the PostgreSQL database.


The LIMITROWS option of the DBOPTIONS parameter is not supported for PostgreSQL, because PostgreSQL does not have a clause to limit the rows affected by UPDATE or DELETE operations. LIMITROWS prevents multiple rows from being updated or deleted by the same Replicat SQL statement when the target table does not have a primary or unique key.

NODYNSQL parameter

NODYNSQL is supported except for non-printable characters or the Text data type. Oracle GoldenGate abends when NODYNSQL is used.

Reverse utility

The Reverse utility is not supported for PostgreSQL.

Automatic Heartbeat Tables Functionality
  • Oracle GoldenGate supports only delivery on PostgreSQL; no mechanism is required to populate or update the heartbeat tables using job or event schedulers.

  • PostgreSQL does not have any internal event or job schedulers so the ALTER HEARTBEATTABLE command is not supported.

  • The ADD HEARTBEATTABLE command with the FREQUENCY, PURGE_FREQUENCY, andRETENTION_PERIOD options is not supported.

  • PostgreSQL does not have any internal event or job schedulers so automatic purging of heartbeat history tables is not supported. You must explicitly drop or truncate the heartbeat history tables as appropriate for your environment.