riftbit/pgsql

By riftbit

Updated 3 months ago

Mini env with PostgreSQL client with periodic query running and with weekly updates

Image

10K+

pgsql

Minimal environment with PostgreSQL client and extended version with periodic query running with weekly auto-updates:

Example usage:

psql (defualt command)
$ docker run -it --rm riftbit/pgsql postgresql://user:pass@host:5432/db
...

or like this:

$ docker run -it --rm riftbit/pgsql psql postgresql://user:pass@host:5432/db
...
pg_dump

To override psql and call pg_dump instead:

$ docker run -it --rm \
  -v /path/for/backup:/var/pgdata riftbit/pgsql pg_dump -h host -U user -f /var/pg_data/mydump.sql db
...
query_runner for periodic query running

Required env variables:

  • PG_CONNECTION_DSN
  • PG_QUERY_PERIOD_SECONDS
  • PG_QUERY

Run every 60 seconds query from env variable

$ docker run -d \
    -e PG_CONNECTION_DSN='postgresql://user:pass@host:5432/db' \
    -e PG_QUERY_PERIOD_SECONDS=60 \
    -e PG_QUERY='SELECT schemaname, relname, seq_scan, seq_tup_read, seq_tup_read / seq_scan as avg_seq_tup_read FROM pg_stat_all_tables WHERE seq_scan > 0 ORDER BY 5 DESC LIMIT 5;' \
riftbit/pgsql query_runner
...
sql_file_runner for periodic query running

Required env variables:

  • PG_CONNECTION_DSN
  • PG_QUERY_PERIOD_SECONDS

Query file:

To use query file - mount volume `/sql.d` and put `query.sql` there.

Run every 60 seconds query from query.sql placed in mounted volume

$ docker run -d \
    -e PG_CONNECTION_DSN='postgresql://user:pass@host:5432/db' \
    -e PG_QUERY_PERIOD_SECONDS=60 \
    -v ${PWD}:/sql.d \
riftbit/pgsql sql_file_runner
...

Docker Pull Command

docker pull riftbit/pgsql