DEV Community

Marcelo Costa
Marcelo Costa

Posted on • Updated on

Using Python to create PostgreSQL tables with random schema

Having a large amount of test data sometimes take a lot of effort, and to simulate a more realistic scenario, it’s good to have a large number of tables with distinct column types. This script generates random tables schema for PostgreSQL.

If you want to set up a PostgreSQL environment for dev and test purposes, take a look at: https://dev.to/mesmacosta/quickly-set-up-a-postgresql-environment-on-gcp-758

Environment

Activate your virtualenv
pip install --upgrade virtualenv
python3 -m virtualenv --python python3 env
source ./env/bin/activate
Install the requirements for the metadata generator
pip install -r requirements.txt

Code

Execution

export POSTGRESQL_SERVER=127.0.0.1
export POSTGRESQL_USERNAME=postgres
export POSTGRESQL_PASSWORD=postgresql_pwd
export POSTGRESQL_DATABASE=postgres

python metadata_generator.py \
--postgresql-host=$POSTGRESQL_SERVER \
--postgresql-user=$POSTGRESQL_USERNAME \
--postgresql-pass=$POSTGRESQL_PASSWORD \
--postgresql-database=$POSTGRESQL_DATABASE

And that's it!

If you have difficulties, don’t hesitate reaching out. I would love to help you!

Top comments (0)