Common tasks

These are a collection of common tasks that are done when running PurlDB.

Create a PurlDB API key

docker compose exec web purldb create-user <user_name>

Create a PurlDB Package scan worker API key

docker compose exec web purldb create-scan-queue-worker-user <scan_worker_user_name>

Backup PurlDB database

docker compose exec db pg_dump -U packagedb -Fc packagedb > /path/to/backup.dump

Restore PurlDB database from backup

  1. Stop all containers and restart db.

docker compose stop
docker compose up --detatch db
  1. Drop current PurlDB database.

docker compose exec db dropdb -U packagedb packagedb
  1. Recreate PurlDB database.

TEMPLATE=template0 ENCODING='UTF8' LC_COLLATE='en_US.utf8' LC_CTYPE='en_US.utf8' docker compose exec db createdb --password -U packagedb packagedb
  1. Copy PurlDB database backup and restore it.

docker cp <path to backup.dump> purldb-db-1:/tmp
docker compose exec db bash
pg_restore --verbose -U packagedb -d packagedb /tmp/backup.dump