Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ headerTitle: CDC using PostgreSQL replication protocol
linkTitle: PostgreSQL protocol
description: CDC using YugabyteDB PostgreSQL replication protocol.
headcontent: Capture changes made to data in the database
tags:
feature: early-access
aliases:
- /stable/explore/change-data-capture/using-logical-replication/
menu:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1549,13 +1549,9 @@ The following table lists the streaming metrics that are available.

### Parallel streaming

{{<tags/feature/tp idea="1549">}}YugabyteDB also supports parallel streaming of a single table using logical replication. This means that you can start the replication for the table using parallel tasks, where each task polls on specific tablets.
YugabyteDB also supports parallel streaming of a single table using logical replication. This means that you can start the replication for the table using parallel tasks, where each task polls on specific tablets.

{{< note title="Important" >}}

Parallel streaming is {{<tags/feature/tp idea="1549">}}. To enable the feature, set the `ysql_enable_pg_export_snapshot` and `ysql_yb_enable_consistent_replication_from_hash_range` flags to true.

{{< /note >}}
To enable the feature, set the `ysql_enable_pg_export_snapshot` and `ysql_yb_enable_consistent_replication_from_hash_range` flags to true.

Use the following steps to configure parallel streaming using the YugabyteDB Connector.

Expand Down
4 changes: 1 addition & 3 deletions docs/content/stable/additional-features/colocation.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,9 +251,7 @@ For information on how to set up xCluster for non-colocated tables, refer to [xC

## Colocated tables with tablespaces

{{<tags/feature/ea idea="1104">}}Colocated tables can be placed in [tablespaces](../../explore/going-beyond-sql/tablespaces/). When a colocated table is created in a tablespace, the colocation tablet is placed and replicated exclusively in the tablespace.

During Early Access, by default colocation support for tablespaces is not enabled. To enable the feature, set the flag `ysql_enable_colocated_tables_with_tablespaces=true`.
Colocated tables can be placed in [tablespaces](../../explore/going-beyond-sql/tablespaces/). When a colocated table is created in a tablespace, the colocation tablet is placed and replicated exclusively in the tablespace.

### Create a colocated table in a tablespace

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ title: pg_partman extension
headerTitle: Partition manager extension
linkTitle: pg_partman
description: Using the pg_partman extension in YugabyteDB
tags:
feature: early-access
menu:
stable:
identifier: extension-pgpartman
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ SELECT category_id, AVG(embedding) FROM items GROUP BY category_id;

## Vector indexing

{{<tags/feature/ea idea="1111">}} By default, vector search performs exact nearest neighbor search, ensuring perfect recall.
By default, vector search performs exact nearest neighbor search, ensuring perfect recall.

To improve query performance, you can use approximate nearest neighbor (ANN) search, which trades some recall for speed. Unlike traditional indexes, approximate indexes may return different results for queries.

Expand Down
2 changes: 1 addition & 1 deletion docs/content/stable/api/ysql/exprs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ YSQL supports all PostgreSQL-compatible built-in functions and operators. The fo

| Statement | Description |
|-----------|-------------|
| {{<tags/feature/ea idea="2160">}}[yb_index_check()](func_yb_index_check) | Checks if the given index is consistent with its base relation |
| [yb_index_check()](func_yb_index_check) | Checks if the given index is consistent with its base relation |
| [yb_hash_code()](func_yb_hash_code) | Returns the partition hash code for a given set of expressions |
| [yb_servers()](func_yb_servers) | Returns a list of all the nodes in your cluster and their location |
| [gen_random_uuid()](func_gen_random_uuid) | Returns a random UUID |
Expand Down
2 changes: 0 additions & 2 deletions docs/content/stable/api/ysql/exprs/func_yb_index_check.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ title: yb_index_check() function [YSQL]
headerTitle: yb_index_check()
linkTitle: yb_index_check()
description: Checks if the given index is consistent with its base relation.
tags:
feature: early-access
menu:
stable_api:
identifier: api-ysql-exprs-yb_index_check
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1344,7 +1344,7 @@ Finally, advisory locks can be blocking or non-blocking:

## Table-level locks

{{<tags/feature/tp idea="1114">}} Table-level locks for YSQL (available in {{<release "2025.1.1.0">}} and later) provide a mechanism to coordinate concurrent DML and DDL operations. The feature provides serializable semantics between DMLs and DDLs by introducing distributed locks on YSQL objects. PostgreSQL clients acquire locks to prevent DMLs and DDLs from running concurrently.
{{<tags/feature/ea idea="1114">}} Table-level locks for YSQL (available in {{<release "2025.1.1.0">}} and later) provide a mechanism to coordinate concurrent DML and DDL operations. The feature provides serializable semantics between DMLs and DDLs by introducing distributed locks on YSQL objects. PostgreSQL clients acquire locks to prevent DMLs and DDLs from running concurrently.

Support for table-level locks is disabled by default, and to enable the feature, set the [yb-tserver](../../../reference/configuration/yb-tserver/) flag [enable_object_locking_for_table_locks](../../../explore/transactions/explicit-locking/#enable-table-level-locks) to true.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ How does YugabyteDB prevent this clock skew anomaly?

You can handle and mitigate read restart errors using the following techniques:

- {{<tags/feature/tp idea="1807">}} Configure [highly accurate clocks](../../../deploy/manual-deployment/system-config#set-up-time-synchronization).
- {{<tags/feature/ea idea="1807">}} Configure [highly accurate clocks](../../../deploy/manual-deployment/system-config#set-up-time-synchronization).
- Implement retry logic in the application. Application retries can help mitigate read restart errors. Moreover, a statement or a transaction may fail in other ways such as transaction conflicts or infrastructure failures. Therefore, a retry mechanism is strongly recommended for a cloud-native, distributed database such as YugabyteDB.

While implementing application retries is the best long-term approach, there are a few short-term solutions you can use in the interim.
Expand Down
4 changes: 2 additions & 2 deletions docs/content/stable/deploy/manual-deployment/start-masters.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ The number of comma-separated addresses in `--master_addresses` should equal the

You can specify multiple directories using the [`--fs_data_dirs`](../../../reference/configuration/yb-master/#fs-data-dirs) flag. Replace the [`--rpc_bind_addresses`](../../../reference/configuration/yb-master/#rpc-bind-addresses) value with the private IP address of the host, and set the `placement_cloud`, `placement_region`, and `placement_zone` values appropriately. For single zone deployment, use the same value for the `placement_zone` flag.

{{<tags/feature/tp idea="1807">}} Highly accurate clocks can be configured by specifying `--time_source=clockbound`. Requires [system configuration](../system-config#set-up-time-synchronization).
{{<tags/feature/ea idea="1807">}} Highly accurate clocks can be configured by specifying `--time_source=clockbound`. Requires [system configuration](../system-config#set-up-time-synchronization).

For the full list of configuration flags, see the [YB-Master reference](../../../reference/configuration/yb-master/).

Expand Down Expand Up @@ -148,7 +148,7 @@ $ ./bin/yb-tserver \

Provide all of the master addresses using the [`--tserver_master_addrs`](../../../reference/configuration/yb-tserver/#tserver-master-addrs) flag. Replace the [`--rpc_bind_addresses`](../../../reference/configuration/yb-tserver/#rpc-bind-addresses) value with the private IP address of the host, and set the `placement_cloud`, `placement_region`, and `placement_zone` values appropriately. For single zone deployment, use the same value for the `--placement_zone` flag.

{{<tags/feature/tp idea="1807">}} Highly accurate clocks can be configured by specifying `--time_source=clockbound`. Requires [system configuration](../system-config#set-up-time-synchronization).
{{<tags/feature/ea idea="1807">}} Highly accurate clocks can be configured by specifying `--time_source=clockbound`. Requires [system configuration](../system-config#set-up-time-synchronization).

For the full list of configuration flags, see the [YB-TServer reference](../../../reference/configuration/yb-tserver/).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ sudo bash ./bin/configure_ptp.sh

### Configure ClockBound

{{<tags/feature/tp idea="1807">}} [ClockBound](https://github.com/aws/clock-bound) is an open source daemon that allows you to compare timestamps to determine order for events and transactions, independent of an instance's geographic location. ClockBound provides a strict interval in which the reference time (true time) exists.
{{<tags/feature/ea idea="1807">}} [ClockBound](https://github.com/aws/clock-bound) is an open source daemon that allows you to compare timestamps to determine order for events and transactions, independent of an instance's geographic location. ClockBound provides a strict interval in which the reference time (true time) exists.

Although optional, configuring ClockBound improves clock accuracy by several orders of magnitude. ClockBound requires chrony and can be used in conjunction with PTP.

Expand Down
2 changes: 1 addition & 1 deletion docs/content/stable/explore/transactions/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The following table summarizes the support for transactions across the YSQL and
| Isolation levels | Serializable<br/>Snapshot<br/>Read Committed | Snapshot | Repeatable read isolation level in PostgreSQL maps to snapshot isolation in YSQL. |
| `AUTOCOMMIT = false` setting | Yes | No | The transaction must be expressed as one statement in YCQL. |
| Explicit locking | Yes | No | Ability to perform row- and table-level locking |
| {{<tags/feature/tp idea="1677">}} Transactional DDL | Yes | No | Each DDL statement is a transaction in YSQL, even if other DDL statements are in a transaction block. |
| Transactional DDL | Yes | No | Each DDL statement is a transaction in YSQL, even if other DDL statements are in a transaction block. |

<!--
| [Non-transactional tables] | No | Yes | Ability to disable multi-row transactions on a per-table basis. <br/>Useful for some features such as automatic data expiry. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ For more information on using the locks, refer to [Advisory locks](../../../arch

## Table-level locks

{{<tags/feature/tp idea="1114">}} Table-level locks are available in {{<release "2025.1.1.0">}} and later.
{{<tags/feature/ea idea="1114">}} Table-level locks are available in {{<release "2025.1.1.0">}} and later.

YugabyteDB's YSQL supports table-level locks (also known as object locks) to coordinate between DML and DDL operations. This feature ensures that DDLs wait for in-progress DMLs to finish before making schema changes, and gates new DMLs behind any waiting DDLs, providing concurrency handling that closely matches PostgreSQL behavior.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ YugabyteDB's transactional DDL provides similar guarantees for rolling back DDL

## Enable transactional DDL

{{<tags/feature/tp idea="1677">}} Support for transactional DDL is disabled by default, and to enable the feature, set the [yb-tserver](../../../reference/configuration/yb-tserver/) flag `ysql_yb_ddl_transaction_block_enabled` to true.

Because `ysql_yb_ddl_transaction_block_enabled` is a preview flag, to use it, add the flag to the [allowed_preview_flags_csv](../../../reference/configuration/yb-tserver/#allowed-preview-flags-csv) list (that is, `allowed_preview_flags_csv=ysql_yb_ddl_transaction_block_enabled`).
Support for transactional DDL is disabled by default, and to enable the feature, set the [yb-tserver](../../..reference/configuration/yb-tserver/) flag `ysql_yb_ddl_transaction_block_enabled` to true.

## Rollback capabilities

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Generalized Search Tree (GiST) indexes in SQL are versatile indexes that support

## Check indexes

{{<tags/feature/ea idea="2160">}} Use the `yb_index_check()` utility function to check if an index is consistent with its base relation. Use it to detect inconsistencies that can creep in due to faulty storage, faulty RAM, or data files being overwritten or modified by unrelated software.
Use the `yb_index_check()` utility function to check if an index is consistent with its base relation. Use it to detect inconsistencies that can creep in due to faulty storage, faulty RAM, or data files being overwritten or modified by unrelated software.

{{<lead link="../../../api/ysql/exprs/func_yb_index_check/">}}
To understand how to use the function, see [yb_index_check()](../../../api/ysql/exprs/func_yb_index_check/)
Expand Down
2 changes: 1 addition & 1 deletion docs/content/stable/reference/configuration/yb-master.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ Default: `true`

##### --time_source

Specifies the time source used by the database. {{<tags/feature/tp idea="1807">}} Set this to `clockbound` for configuring a highly accurate time source. Using `clockbound` requires [system configuration](../../../deploy/manual-deployment/system-config/#set-up-time-synchronization).
Specifies the time source used by the database. {{<tags/feature/ea idea="1807">}} Set this to `clockbound` for configuring a highly accurate time source. Using `clockbound` requires [system configuration](../../../deploy/manual-deployment/system-config/#set-up-time-synchronization).

Default: `""`

Expand Down
2 changes: 1 addition & 1 deletion docs/content/stable/reference/configuration/yb-tserver.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ Specifies the queue size for the tablet server to serve reads and writes from ap

{{% tags/wrap %}}
{{<tags/feature/restart-needed>}}
{{<tags/feature/tp idea="1807">}}
{{<tags/feature/ea idea="1807">}}
Default: `""`
{{% /tags/wrap %}}

Expand Down
2 changes: 1 addition & 1 deletion docs/content/stable/releases/ybdb-releases/v2024.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -767,7 +767,7 @@ docker pull yugabytedb/yugabyte:2024.1.1.0-b137

### Highlight

**PostgreSQL Logical Replication Protocol Support** {{<tags/feature/ea>}}
**PostgreSQL Logical Replication Protocol Support** {{<tags/feature/ea idea="805">}}

We're excited to announce in the 2024.1.1.0 release support for the PostgreSQL Logical Replication Protocol for Change Data Capture (CDC), in addition to the existing native [gRPC Replication protocol](/v2024.1/additional-features/change-data-capture/using-yugabytedb-grpc-replication/).
This feature allows you to manage CDC streams using [Publications](https://www.postgresql.org/docs/11/sql-createpublication.html) and [Replication Slots](https://www.postgresql.org/docs/11/logicaldecoding-explanation.html#LOGICALDECODING-REPLICATION-SLOTS), similar to native PostgreSQL. Additionally, a [new connector](/v2024.1/additional-features/change-data-capture/using-logical-replication/get-started/#get-started-with-yugabytedb-connector) is introduced that utilizes the logical replication protocol to consume the CDC streams via [Replication slots](https://www.postgresql.org/docs/current/logicaldecoding-explanation.html#LOGICALDECODING-REPLICATION-SLOTS).
Expand Down