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
Stop all containers and restart
db.
docker compose stop
docker compose up --detatch db
Drop current PurlDB database.
docker compose exec db dropdb -U packagedb packagedb
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
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