mirror of
https://github.com/mozilla-services/syncstorage-rs.git
synced 2026-01-29 04:12:15 +01:00
47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
Markdown
# PostgreSQL Utility Scripts
|
|
|
|
Currently there is one script: `purge_ttl.py`.
|
|
|
|
## purge_ttl.py
|
|
|
|
Purge expired items (BSOs and batches) from a Sync storage PostgreSQL instance.
|
|
The script is intended to be invoked regularly, e.g. as a cronjob.
|
|
|
|
### Prerequisites
|
|
|
|
- Python 3
|
|
- [Poetry](https://python-poetry.org/docs/#installation)
|
|
|
|
### Run Script Locally
|
|
|
|
```bash
|
|
cd tools/postgres
|
|
poetry install
|
|
SYNC_SYNCSTORAGE__DATABASE_URL="postgresql://user:pass@localhost/syncstorage poetry run python purge_ttl.py"
|
|
```
|
|
|
|
Pass `-h` to see the list of options.
|
|
|
|
### Run Tests Locally
|
|
|
|
```bash
|
|
cd tools/postgres
|
|
poetry install
|
|
SYNC_SYNCSTORAGE__DATABASE_URL="postgresql://user:pass@localhost/syncstorage poetry run pytest test_purge_ttl.py -v"
|
|
```
|
|
|
|
### Run with Docker
|
|
|
|
A Docker image with the PostgreSQL build is not published anywhere at the
|
|
moment. Once that's available, this readme will be updated to include that
|
|
step.
|
|
|
|
```bash
|
|
docker run --rm \
|
|
--entrypoint python3 \
|
|
-e SYNC_SYNCSTORAGE__DATABASE_URL="postgresql://user:pass@host:5432/syncstorage" \
|
|
syncstorage-postgres-image:tag \
|
|
/app/tools/postgres/purge_ttl.py
|
|
```
|
|
|