Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Object Storage
    • All tutorials
    • Getting statistics on object queries with S3 Select
    • Getting website traffic statistics with S3 Select
    • Getting statistics on object queries using Yandex Query
    • Generating a resource-by-resource cost breakdown report using S3 Select
    • Server-side encryption
    • Integrating an L7 load balancer with CDN and Object Storage
    • Blue-green and canary deployment of service versions
    • Analyzing logs in DataLens
    • Mounting buckets to the file system of Yandex Data Processing hosts
    • Using Object Storage in Yandex Data Processing
    • Importing data from Object Storage, processing and exporting to Managed Service for ClickHouse®
    • Mounting a bucket as a disk in Windows
    • Migrating data from Yandex Data Streams using Yandex Data Transfer
    • Using hybrid storage in Yandex Managed Service for ClickHouse®
    • Loading data from Yandex Managed Service for OpenSearch to Yandex Object Storage using Yandex Data Transfer
    • Automatically copying objects from one bucket to another
    • Recognizing audio files in a bucket on a regular basis
    • Training a model in Yandex DataSphere on data from Object Storage
    • Connecting to Object Storage from VPC
    • Migrating data to Yandex Managed Service for PostgreSQL using Yandex Data Transfer
    • Uploading data to Yandex Managed Service for Greenplum® using Yandex Data Transfer
    • Uploading data to Yandex Managed Service for ClickHouse® using Yandex Data Transfer
    • Uploading data to Yandex Managed Service for YDB using Yandex Data Transfer
    • Exchanging data between Yandex Managed Service for ClickHouse® and Yandex Data Processing
    • Uploading data from Yandex Managed Service for YDB using Yandex Data Transfer
    • Hosting a static Gatsby website in Object Storage
    • Migrating a database from Managed Service for PostgreSQL to Object Storage
    • Exchanging data between Yandex Managed Service for ClickHouse® and Yandex Data Processing
    • Importing data from Yandex Managed Service for PostgreSQL to Yandex Data Processing using Sqoop
    • Importing data from Yandex Managed Service for MySQL® to Yandex Data Processing using Sqoop
    • Migrating data from Yandex Object Storage to Yandex Managed Service for MySQL® using Yandex Data Transfer
    • Migrating a database from Yandex Managed Service for MySQL® to Yandex Object Storage
    • Exporting Greenplum® data to a cold storage in Yandex Object Storage
    • Loading data from Yandex Direct to a Yandex Managed Service for ClickHouse® data mart using Yandex Cloud Functions, Yandex Object Storage, and Yandex Data Transfer
    • Migrating data from Elasticsearch to Yandex Managed Service for OpenSearch
    • Uploading Terraform states to Object Storage
    • Locking Terraform states using Managed Service for YDB
    • Visualizing Yandex Query data
    • Publishing game updates
    • VM backups using Hystax Acura
    • Backing up to Object Storage with CloudBerry Desktop Backup
    • Backing up to Object Storage with Duplicati
    • Backing up to Object Storage with Bacula
    • Backing up to Yandex Object Storage with Veeam Backup
    • Backing up to Object Storage with Veritas Backup Exec
    • Managed Service for Kubernetes cluster backups in Object Storage
    • Developing a custom integration in API Gateway
    • URL shortener
    • Storing application runtime logs
    • Developing a skill for Alice and a website with authorization
    • Creating an interactive serverless application using WebSocket
    • Deploying a web application using the Java Servlet API
    • Developing a Telegram bot
    • Replicating logs to Object Storage using Fluent Bit
    • Replicating logs to Object Storage using Data Streams
    • Uploading audit logs to ArcSight SIEM
    • Exporting audit logs to SIEM Splunk systems
    • Creating an MLFlow server for logging experiments and artifacts
    • Operations with data using Yandex Query
    • Federated data queries using Query
    • Recognizing text in image archives using Vision OCR
    • Converting a video to a GIF in Python
    • Automating tasks using Managed Service for Apache Airflow™
    • Processing files with usage details in Yandex Cloud Billing
    • Deploying a web app with JWT authorization in API Gateway and authentication in Firebase
    • Searching for Yandex Cloud events in Yandex Query
    • Searching for Yandex Cloud events in Object Storage
    • Creating an external table from a bucket table using a configuration file
    • Migrating databases from Google BigQuery to Managed Service for ClickHouse®
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Bucket logs
  • Release notes
  • FAQ

In this article:

  • Required paid resources
  • Getting started
  • Export the Greenplum® table to a cold storage
  • Check the result
  • Move the table from the cold storage to the cluster storage
  • Delete the resources you created
  1. Tutorials
  2. Exporting Greenplum® data to a cold storage in Yandex Object Storage

Exporting Greenplum® data to a cold storage in Yandex Object Storage

Written by
Yandex Cloud
Updated at April 25, 2025
  • Required paid resources
  • Getting started
  • Export the Greenplum® table to a cold storage
  • Check the result
  • Move the table from the cold storage to the cluster storage
  • Delete the resources you created

In a Yandex Managed Service for Greenplum® cluster, you can enable hybrid storage for append-optimized (AO) and append-optimized column-oriented (AOCO) tables. With this done, the Yezzey extension can transfer data in such tables from a cluster storage to a cold storage.

Cold storage is a convenient option if you need to store your data for a long time without using it much. This will make data storage less costly.

Note

This feature is at the Preview stage and free of charge.

To transfer your data from a cluster storage to a cold storage:

  1. Export the Greenplum® table to a cold storage.
  2. Check the result.

You can also transfer your data back to a cluster storage.

If you no longer need the resources you created, delete them.

Required paid resourcesRequired paid resources

The support cost includes:

  • Managed Service for Greenplum® cluster fee: Using computing resources allocated to hosts and disk space (see Greenplum® pricing).
  • Fee for using public IP addresses if public access is enabled for cluster hosts (see Virtual Private Cloud pricing).

Getting startedGetting started

  1. Create a Managed Service for Greenplum® cluster. When creating a cluster, make sure to enable Hybrid storage.

    Note

    You cannot disable this option after you save your cluster settings.

  2. Get an SSL certificate to connect to the Greenplum® database:

    Linux (Bash)/macOS (Zsh)
    Windows (PowerShell)
    mkdir -p ~/.postgresql && \
    wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
         --output-document ~/.postgresql/root.crt && \
    chmod 0655 ~/.postgresql/root.crt
    

    The certificate will be saved to the ~/.postgresql/root.crt file.

    mkdir $HOME\.postgresql; curl.exe -o $HOME\.postgresql\root.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
    

    The certificate will be saved to the $HOME\.postgresql\root.crt file.

    Corporate policies and antivirus software can block the download of certificates. For more information, see FAQ.

    To use graphical IDEs, save a certificate to a local folder and specify the path to it in the connection settings.

Export the Greenplum® table to a cold storageExport the Greenplum® table to a cold storage

  1. Connect to the cluster:

    psql "host=c-<cluster_ID>.rw.mdb.yandexcloud.net \
          port=6432 \
          sslmode=verify-full \
          dbname=postgres \
          user=<username> \
          target_session_attrs=read-write"
    
  2. Create a database named db_with_yezzey:

    CREATE DATABASE db_with_yezzey;
    

    The new DB will be granted permissions to install extensions. These permissions are not granted for the default DB.

  3. Connect to the new DB:

    \connect db_with_yezzey
    
  4. Create a Yezzey extension:

    CREATE EXTENSION yezzey;
    
  5. Create an AO table named ao_table:

    CREATE TABLE ao_table (a int)
        WITH (appendoptimized=true)
        DISTRIBUTED BY (a);
    
  6. Populate the table with a series of integers from 1 through 10,000:

    INSERT INTO ao_table SELECT * FROM GENERATE_SERIES(1, 10000);
    
  7. Transfer the ao_table data to a cold storage:

    SELECT yezzey_define_offload_policy('ao_table');
    

Check the resultCheck the result

  1. Check how much of the cluster local cache and cold storage is used by:

    • ao_table:

      SELECT * FROM yezzey_offload_relation_status('ao_table');
      
    • Each segment file in ao_table:

      SELECT * FROM yezzey_offload_relation_status_per_filesegment('ao_table');
      

    If there are non-zero values in each external_bytes column in the command output, the table was successfully transferred to a cold storage.

  2. Check which table segment files are now in the cold storage:

    SELECT * FROM yezzey_relation_describe_external_storage_structure('ao_table');
    
  3. Make sure you can read data from the transferred table:

    SELECT AVG(a) FROM ao_table;
    

    Result:

              avg          
    -----------------------
     5000.5000000000000000
    (1 row)
    
  4. Make sure you can write data to the transferred table:

    1. Add a series of integers 1 through 10,000 to ao_table:

      INSERT INTO ao_table SELECT * FROM GENERATE_SERIES(1, 10000);
      
    2. Make sure the number of rows has doubled:

      SELECT COUNT(1) FROM ao_table;
      

      Result:

       count
      -------
       20000
      (1 row)
      

Move the table from the cold storage to the cluster storageMove the table from the cold storage to the cluster storage

To move ao_table from the cold storage back to the cluster storage, run this command:

SELECT yezzey_load_relation('ao_table');

Delete the resources you createdDelete the resources you created

If you no longer need the cluster you created, delete it.

Greenplum® and Greenplum Database® are registered trademarks or trademarks of VMware, Inc. in the United States and/or other countries.

Was the article helpful?

Previous
Migrating a database from Yandex Managed Service for MySQL® to Yandex Object Storage
Next
Loading data from Yandex Direct to a Yandex Managed Service for ClickHouse® data mart using Yandex Cloud Functions, Yandex Object Storage, and Yandex Data Transfer
© 2025 Direct Cursus Technology L.L.C.