Replication of Tables Without Primary Keys
Helyx supports replication for Oracle source tables that do not have a primary key or a unique key defined. These tables can be configured in the same manner as standard replicated tables by adding the fully qualified table name, including the schema name, to the tablelist.config file.
Note
For tables without a primary key or unique key, Helyx supports replication in insert-only or append-only mode. This means that new records inserted at the Oracle source are replicated to the PostgreSQL target. However, update and delete operations are not supported because Helyx cannot uniquely identify existing rows without a key column.
Warning
You cannot add a table without a primary key to an existing replication setup. If such a table is added, its historical data will not be replicated. Only new data created after the table is added will be replicated.
Use the following commands to create, manage, monitor, and remove replication for tables that do not contain a primary key or unique key.
Create Publication
<path_to_serverconfig> -createpub-nopk -s <path_to_publication.config> -tables <path_to_nopk_tablelist.config>Create Subscription
<path_to_serverconfig> -createsub-nopk -s <path_to_subscription.config> -pub <path_to_publication.config> -tables <path_to_nopk_tablelist.config>Pause Replication
Pause either the publication or subscription service when required.
<path_to_serverconfig> -pause-nopk -pub <path_to_publication.config><path_to_serverconfig> -pause-nopk -sub <path_to_subscription.config>Resume Replication
<path_to_serverconfig> -resume-nopk -pub <path_to_publication.config><path_to_serverconfig> -resume-nopk -sub <path_to_subscription.config>Check Replication Status
<path_to_serverconfig> -status-nopk -pub -s <path_to_publication.config><path_to_serverconfig> -status -sub -s <path_to_subscription.config>Remove Publication or Subscription
<path_to_serverconfig> -remove-nopk -pub -s <path_to_publication.config><path_to_serverconfig> -remove-nopk -sub -s <path_to_subscription.config>Remove Tables from Replication
<path_to_serverconfig> -removetablefromrepl-nopk -s <path_to_publication.config> -tables <comma_separated_table_list>