What objects can be transferred
The main objects transferred are tables and data schemas.
In addition, certain types of endpoints support a transfer of empty objects or views. There are also limits on complex data types.
Processing empty objects
You can only transfer non-empty tables and their data but not other schema elements (indexes, external keys, etc.) between endpoints of different types (e.g., from PostgreSQL to ClickHouse®).
Auto incremental fields are also transferred, but AUTO_INCREMENT is not.
For example, the following table
CREATE TABLE `sometable` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT
will be transferred as
CREATE TABLE "sometable" ( "id" int8 NOT NULL
Transfers between same-type endpoints (such as from PostgreSQL to PostgreSQL) transfer empty objects as part of a schema.
Processing a VIEW
In general, Yandex Data Transfer transfers VIEW (from databases where such objects can exist) with some limitations:
- The Replication transfers do not replicate changes made to
VIEWdata. - The Snapshot and Snapshot and increment transfers (at the copy stage) between same-type endpoints, e.g., from PostgreSQL to PostgreSQL, transfer
VIEWonly a as part of a schema. The data (rows) inVIEWis not transferred. Schema transfers are governed by the Schema transfer setting and related settings available in some source endpoints. - The Snapshot and Snapshot and increment transfers (at the copy stage) between endpoints of different types, e.g., from PostgreSQL to ClickHouse®, transfer
VIEWas regular tables (not as views). This feature allows converting and exporting data to external databases and can be helpful when making regular transfers of the Snapshot type.
Some sources may impose additional restrictions on transfers of VIEW and similar objects. For more information on how to work with views from particular sources, see Yandex Data Transfer workflow for sources and targets.
Processing complex data types
In transfers between endpoints of different types (e.g., from PostgreSQL to ClickHouse®), it is not recommended to transfer data of complex types (e.g., arrays of numbers). Data Transfer does not support the conversion of such data, because each DBMS has limitations and rules of its own for data types. When using complex types, the transfer may not work correctly.
ClickHouse® is a registered trademark of ClickHouse, Inc