How to export data from a postgres container inside of Docker

James Phoenix
James Phoenix

If you are running a postgres database inside of Docker, it can be a powerful tool for quickly and easily transferring data. Exporting data from a postgres container inside of Docker is a relatively straightforward process and can be done with a few simple command line steps. We’ll walk through the steps for how to properly export data from a postgres container inside of Docker.

docker exec -it -u database_user_name container_name \
psql -d database_name -c "COPY (SELECT * FROM table) TO STDOUT CSV" > output.csv
docker exec -it -u postgres postgres \
psql -d TEST_DB -c "COPY (SELECT * FROM tenants) TO STDOUT WITH CSV HEADER" > output.csv

Now let’s assume you’ve got multiple tables that you want to output:

#!/bin/bash 

# declare an array of table names 
declare -a tables=("table1" "table2" "table3")

# loop over the array of table names
for table in "${tables[@]}"
do
  # execute the psql command for each table
  docker exec -it -u database_user_name container_name \
  psql -d database_name -c "COPY (SELECT * FROM $table) TO STDOUT CSV" > "$table"_output.csv

done

Exporting data from a postgres container inside of Docker can be a complex process, but by following the steps outlined in this article, it can be done with relative ease. It is important to remember to use the right credentials and access rights to ensure the data is properly exported and secured.

Leanpub Book

Read The Meta-Engineer

A practical book on building autonomous AI systems with Claude Code, context engineering, verification loops, and production harnesses.

Continuously updated
Claude Code + agentic systems
View Book

Additionally, taking the time to understand the principles of docker containers and postgres databases can help make the process easier to understand. With the right knowledge and guidance, exporting data from a postgres container inside of Docker can be a successful and straightforward task.

Newsletter

Become a better AI engineer

Weekly deep dives on production AI systems, context engineering, and the patterns that compound. No fluff, no tutorials. Just what works.

Join 306K+ developers. No spam. Unsubscribe anytime.


More Insights

Cover Image for Verified Spec-Driven Development (VSDD)

Verified Spec-Driven Development (VSDD)

Three methodologies that usually get argued about as rivals turn out to compose. Spec-driven development defines what, test-driven development enforces how, and adversarial verification checks that nothing was missed. Run them as sequential gates instead of competing philosophies and you get a pipeline where every line of code can be traced back to the requirement that demanded it.

James Phoenix
James Phoenix
Cover Image for “We Can’t Run Locally” Is a Concurrency Problem Now

“We Can’t Run Locally” Is a Concurrency Problem Now

The excuse survived a decade because one engineer’s feedback loop fitted inside one shared environment. Point twenty agents at that same environment and it stops being a slow loop and starts being a broken one.

James Phoenix
James Phoenix