Skip to main content

Migrate from PostgreSQL to Zilliz Cloud

This topic describes how Zilliz Cloud handles data type mapping, collection naming rules, and considerations when migrating from PostgreSQL.

Prerequisites

Before starting your PostgreSQL to Zilliz Cloud migration, ensure you meet these requirements:

PostgreSQL requirements

RequirementDetails
Network accessSource PostgreSQL database must be accessible from the public internet
Database accessValid database endpoint, username, and password with necessary permissions
pgvector extensionTables must use pgvector extension for vector data storage
Vector field requirementEach source table must contain at least one vector field, and vector fields cannot contain null values.
Data availabilitySource tables must contain data. Empty tables cannot be migrated.

Zilliz Cloud requirements

RequirementDetails
User roleOrganization Owner or Project Admin
Cluster capacitySufficient storage and compute resources (use the CU calculator to estimate CU size)
Network accessAdd Zilliz Cloud IPs to allowlists if using network restrictions

Data type mapping

Understanding how PostgreSQL data types map to Zilliz Cloud is crucial for planning your migration:

PostgreSQL Field Type

Zilliz Cloud Field Type

Description

Primary key

Primary key / Auto ID

  • Single-field primary key: Mapped directly as the target collection's primary key.

  • Absence of primary key: Auto ID is enabled for the target collection to support tables without a primary key.

  • Composite primary key: Auto ID is enabled; composite keys are treated as regular scalar fields.

When migrating data, you can enable Auto ID. However, if you do so, the original primary key values from your source collection will be discarded.

vector

FLOAT_VECTOR

Vector dimensions remain unchanged.

text/varchar/date/time

VARCHAR

Stored as a string.

bigint

INT64

integer

INT32

smallint

INT16

double precision

DOUBLE

real

FLOAT

boolean

BOOL

array

ARRAY

json

JSON

PostgreSQL-specific handling rules

Collection naming rules

PostgreSQL table names are transferred to Zilliz Cloud with the following considerations:

ScenarioImpactSolution
Default namingCollection names match source table names exactlyNames are preserved as-is from PostgreSQL
Naming conflictsCannot submit job if a collection with the same name already existsDelete existing collection, choose a different database, or rename during migration configuration
Collection name modificationSupported during migrationYou can rename collections during the migration configuration process

Migration considerations

The following features are not supported for PostgreSQL migration:

LimitationImpactAlternative
Dynamic to fixed field conversionCannot convert existing dynamic fields to fixed typesFields maintain their original dynamic nature
Add more fieldsCannot add new fields during migrationOnly existing Elasticsearch fields are migrated