Documentation Index
Fetch the complete documentation index at: https://private-7c7dfe99-page-updates.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Background
TimescaleDB is an open-source Postgres extension developed by Timescale Inc that aims to boost the performance of analytics queries without having to move away from Postgres. This is achieved by creating “hypertables” which are managed by the extension and support automatic partitioning into “chunks”. Hypertables also support transparent compression and hybrid row-columnar storage (known as “hypercore”), although these features require a version of the extension that has a proprietary license. Timescale Inc also offers two managed services for TimescaleDB:Managed Service for TimescaleTimescale Cloud.
Supported Postgres versions
ClickPipes supports Postgres version 12 and later.Enable logical replication
The steps to be follow depend on how your Postgres instance with TimescaleDB is deployed.- If you’re using a managed service and your provider is listed in the sidebar, please follow the guide for that provider.
- If you’re deploying TimescaleDB yourself, follow the generic guide.
Timescale Cloud doesn’t support enabling logical replication, which is needed for Postgres pipes in CDC mode.
As a result, users of Timescale Cloud can only perform a one-time load of their data (
Initial Load Only) with the
Postgres ClickPipe.Configuration
Timescale hypertables don’t store any data inserted into them. Instead, the data is stored in multiple corresponding “chunk” tables which are in the_timescaledb_internal schema. For running queries on the hypertables, this isn’t an
issue. But during logical replication, instead of detecting changes in the hypertable we detect them in the chunk table
instead. The Postgres ClickPipe has logic to automatically remap changes from the chunk tables to the parent hypertable,
but this requires additional steps.
If you’d like to only perform a one-time load of your data (
Initial Load Only), please skip steps 2 onward.-
Create a dedicated user for ClickPipes:
-
Grant schema-level, read-only access to the user you created in the previous step. The following example shows permissions for the
publicschema. Repeat these commands for each schema containing tables you want to replicate: -
Grant replication privileges to the user:
- Create a publication with the tables you want to replicate. We strongly recommend only including the tables you need in the publication to avoid performance overhead.
-
To create a publication for specific tables:
-
To create a publication for all tables in a specific schema:
clickpipes publication will contain the set of change events generated from the specified tables, and will later be used to ingest the replication stream.
After these steps, you should be able to proceed with creating a ClickPipe.