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
Requirement | Details |
---|---|
Network access | Source PostgreSQL database must be accessible from the public internet |
Database access | Valid database endpoint, username, and password with necessary permissions |
pgvector extension | Tables must use pgvector extension for vector data storage |
Vector field requirement | Each source table must contain at least one vector field, and vector fields cannot contain null values. |
Data availability | Source tables must contain data. Empty tables cannot be migrated. |
Zilliz Cloud requirements
Requirement | Details |
---|---|
User role | Organization Owner or Project Admin |
Cluster capacity | Sufficient storage and compute resources (use the CU calculator to estimate CU size) |
Network access | Add 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 |
|
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:
Scenario | Impact | Solution |
---|---|---|
Default naming | Collection names match source table names exactly | Names are preserved as-is from PostgreSQL |
Naming conflicts | Cannot submit job if a collection with the same name already exists | Delete existing collection, choose a different database, or rename during migration configuration |
Collection name modification | Supported during migration | You can rename collections during the migration configuration process |
Migration considerations
The following features are not supported for PostgreSQL migration:
Limitation | Impact | Alternative |
---|---|---|
Dynamic to fixed field conversion | Cannot convert existing dynamic fields to fixed types | Fields maintain their original dynamic nature |
Add more fields | Cannot add new fields during migration | Only existing Elasticsearch fields are migrated |