Back to source plugin

Sync data from S3 to PostgreSQL

CloudQuery is the simple, fast data integration platform that can fetch your data from S3 APIs and load it into PostgreSQL
S3
PostgreSQL

Trusted by

Self-hosted

Start locally, then deploy to a Virtual Machine, Kubernetes, or anywhere else. Full instructions on CLI setup are available in our documentation.

Cloud-hosted

Start syncing in a few clicks. No need to deploy your own infrastructure.

Fast and reliable

CloudQuery’s efficient design means our syncs are fast and a sync from S3 to PostgreSQL can be completed in a fraction of the time compared to other tools.

Easy to use, easy to maintain

S3 syncing using CloudQuery is easy to set up and maintain thanks to its simple YAML configuration. Once synced, you can use normal SQL queries to work with your data.

A huge library of supported destinations

PostgreSQL isn’t the only place we can sync your S3 data to. Whatever you need to do with your S3 data, CloudQuery can make it happen. We support a huge range of destinations, customizable transformations for ETL, and we regularly release new plugins.

Extensible and Open Source SDK

Write your own connectors in any language by utilizing the CloudQuery open source SDK powered by Apache Arrow. Get out-of-the-box scheduling, rate-limiting, transformation, documentation and much more.

Step by step guide for how to export data from S3 to PostgreSQL

MacOS Setup

Step 1: Install CloudQuery

To install CloudQuery, run the following command in your terminal:

brew install cloudquery/tap/cloudquery

Step 2: Create a Configuration File

Next, run the following command to initialize a sync configuration file for S3 to PostgreSQL:

cloudquery init --source=s3 --destination=postgresql

This will generate a config file named s3_to_postgresql.yaml. Follow the instructions to fill out the necessary fields to authenticate against your own environment.

Step 3: Log in to CloudQuery CLI

Next, log in to the CloudQuery CLI. If you have't already, you can sign up for a free account as part of this step:

cloudquery login

Step 4: Run a Sync

cloudquery sync s3_to_postgresql.yaml

This will start syncing data from the S3 API to your PostgreSQL database! 🚀

See the CloudQuery documentation portal for more deployment guides, options and further tips.

FAQs

What is CloudQuery?
CloudQuery is an open-source tool that helps you extract, transform, and load cloud asset data from various sources into databases for security, compliance, and visibility.
Why does CloudQuery require login?
Logging in allows CloudQuery to authenticate your access to the CloudQuery Hub and monitor usage for billing purposes. Data synced with CloudQuery remains private to your environment and is not shared with our servers or any third parties.
What data does CloudQuery have access to?
CloudQuery accesses only the metadata and configurations of your cloud resources that you specify without touching sensitive data or workloads.
How is CloudQuery priced?
CloudQuery offers flexible pricing based on the number of cloud accounts and usage. Visit our pricing page for detailed plans.
Is there a free version of CloudQuery?
Yes, CloudQuery offers a free plan that includes basic features, perfect for smaller teams or personal use. More details can be found on our pricing page.
Which database versions are supported?
The CloudQuery PostgreSQL integration supports syncing to PostgreSQL version 10 or higher and CockroachDB version 20.2 or higher.
How long will the sync take?
Sync duration depends on several factors, but there are a number of CloudQuery features that ensure that syncs are as fast as possible. CloudQuery syncs data from S3 to PostgreSQL in a streaming fashion using Apache Arrow. This means that as soon as it receives data from S3 it delivers it to the PostgreSQL integration. This means that data is delivered as the sync progresses rather than only at the end.
Can I send data to multiple PostgreSQL instances using the destination plug-in?
Yes, you can configure multiple destination blocks for different PostgreSQL instances or databases.
What are the best practices for handling large datasets with the PostgreSQL destination integration?
Use indexing, partitioning, and batch inserts to manage large datasets effectively and minimize performance impacts.
How do I monitor and troubleshoot data transfers to PostgreSQL?
Check CloudQuery logs for detailed error messages, validate connectivity settings, and monitor database performance using PostgreSQL’s built-in tools.
Join our mailing list

Subscribe to our newsletter to make sure you don't miss any updates.

Legal

© 2024 CloudQuery, Inc. All rights reserved.

We use tracking cookies to understand how you use the product and help us improve it. Please accept cookies to help us improve. You can always opt out later via the link in the footer.