expanso-s3-to-postgres

Load JSON files from S3 into PostgreSQL with schema mapping and upserts.

1|Updated Feb 1, 2026
One-click install
npx skills add https://github.com/expanso-io/expanso-skills --skill expanso-s3-to-postgres
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expanso-s3-to-postgres
Source: https://github.com/expanso-io/expanso-skills/tree/main/skills/recipes/s3-to-postgres
Command: npx skills add https://github.com/expanso-io/expanso-skills --skill expanso-s3-to-postgres

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill automates the process of loading JSON files from Amazon S3 into a PostgreSQL database, including handling schema mapping and data upserts.

Core Features & Use Cases

  • Automated Data Ingestion: Reads JSON files from a specified S3 bucket and prefix.
  • Schema Mapping & Transformation: Parses JSON lines and maps them to PostgreSQL columns, including generating UUIDs and adding metadata.
  • Upsert Support: Supports loading data into a PostgreSQL table with options for batching.
  • Use Case: Streamline ETL processes by automatically ingesting and updating records from S3-based JSON data into your PostgreSQL data warehouse.

Quick Start

Configure your AWS and PostgreSQL credentials and run the skill to load data from your S3 bucket into PostgreSQL.

Frequently Asked Questions about expanso-s3-to-postgres

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I load JSON files from S3 into PostgreSQL automatically?

To load JSON from S3 into PostgreSQL, you need an automated ETL process that reads S3 files and maps them to database columns. This Skill performs that ingestion, parsing JSON lines and executing batch upserts using your AWS credentials and PostgreSQL DSN.

How does automatic schema mapping work when ingesting S3 JSON into Postgres?

Automatic schema mapping for S3 JSON ingestion works by parsing JSON line structures and mapping keys directly to PostgreSQL columns. This process also handles generating UUIDs and appending metadata to ensure records align with your database schema.

Can I use SQS notifications to trigger S3 data loading into PostgreSQL?

Yes, you can use SQS notifications to trigger S3 data loading into PostgreSQL. This Skill supports optional SQS integration to receive S3 file notifications, allowing you to process new JSON files as they arrive in the bucket.

Does loading S3 JSON into PostgreSQL support upserts and batching?

Loading S3 JSON into PostgreSQL supports both upserts and batching. This ensures you can update existing records efficiently and manage large data volumes without overwhelming the database during the ETL process.

What is the best way to handle ETL from S3 JSON to a PostgreSQL data warehouse?

The best way to handle ETL from S3 JSON to a PostgreSQL data warehouse is to automate schema mapping and upsert capabilities. This Skill streamlines the process by reading specified S3 prefixes and structuring the JSON data into PostgreSQL tables.

What credentials do I need to load data from S3 to Postgres?

To load data from S3 to Postgres, you need valid AWS credentials for S3 bucket access and a PostgreSQL DSN for database connectivity. You must also specify the target S3 bucket name and prefix to locate your JSON files.