[[pg-replication-slot-component]]
= PostgresSQL Replication Slot Component
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-pg-replication-slot/src/main/docs/pg-replication-slot-component.adoc
:docTitle: PostgresSQL Replication Slot
:artifactId: camel-pg-replication-slot
:description: Poll for PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.
:since: 3.0
:supportLevel: Stable
:component-header: Only consumer is supported

*Since Camel {since}*

*{component-header}*

This is a component for Apache Camel which allows for
consuming from PostgreSQL replication slots. The component works with PostgreSQL 10 or later.

Maven users will need to add the following dependency to their `pom.xml`
for this component:

[source,xml]
------------------------------------------------------------
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-pg-replication-slot</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------

URI format

The pg-replication-slot component uses the following two styles of endpoint URI
notation:

[source,java]
-------------------------------------------------
pg-replication-slot://host:port/database/slot:plugin[?parameters]
-------------------------------------------------

You can append query options to the URI in the following format,
`?option=value&option=value&...`

== Options


// component options: START
The PostgresSQL Replication Slot component supports 2 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
|===
// component options: END



// endpoint options: START
The PostgresSQL Replication Slot endpoint is configured using URI syntax:

----
pg-replication-slot:host:port/database/slot:outputPlugin
----

with the following path and query parameters:

=== Path Parameters (5 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *slot* | *Required* Replication Slot name |  | String
| *host* | Postgres host | localhost | String
| *port* | Postgres port | 5432 | Integer
| *database* | *Required* Postgres database name |  | String
| *outputPlugin* | *Required* Output plugin name |  | String
|===


=== Query Parameters (26 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *password* (common) | Postgres password |  | String
| *user* (common) | Postgres user | postgres | String
| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. The value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
| *autoCreateSlot* (advanced) | Auto create slot if it does not exist | true | Boolean
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *slotOptions* (advanced) | Slot options to be passed to the output plugin. |  | Map
| *statusInterval* (advanced) | Specifies the number of seconds between status packets sent back to Postgres server. | 10 | Integer
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
| *repeatCount* (scheduler) | Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever. | 0 | long
| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. The value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. The value can be one of: none, spring, quartz | none | String
| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. The value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
|===
// endpoint options: END

== Example

[source,java]
----
from("pg-replication-slot://localhost:5432/finance/sync_slot:test_decoding?user={{username}}&password={{password}}&slotOptions.skip-empty-xacts=true&slotOptions.include-xids=false")
    .to("mock:result");
----

== Tips

[TIP]
====
PostgreSQL can generate a huge amount of empty transactions on certain operations (e.g. `VACUUM`). These transactions can congest
your route. Using `greedy=true` query parameter can help with this problem. It will help your route filter out empty transactions quickly
without waiting for the `delay`*`timeUnit` parameter between each exchange.
====

[TIP]
====
The order of the messages is guaranteed, but the same message might come more than once. So, for example, if you're using
this component to sync data from PostgreSQL to other database, make sure your operations are idempotent (e.g. use UPSERT
instead of INSERT,...). This will make sure repeated messages won't affect your system negatively.
====


include::camel-spring-boot::page$pg-replication-slot-starter.adoc[]
