@acuris/eventstore-postgresql
v3.0.0
Published
Eventstore implementation storing events in Postgresql
Downloads
9,412
Readme
Postgresql Event store implementation
Eventstore implementation to store events in Postgresql
Running tests
The tests expect a local Postgresql to be running. It uses the standard libpq environment variables to find it. You will need permissions to create schemas (namespaces) in the database that is connected to.
Start a PostgreSQL instance for tests using Docker
In a terminal window, run:
docker run --rm -it -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:14-alpine
This runs a PostgreSQL on port 5432 (the default), with password authentication disabled (which is reasonable for local testing). The database is created with a default "postgres" user and database, so you still need to specify this when running tests:
PGUSER=postgres yarn test
Environment variables
The most important variables:
| Name | Description | |------------|:---------------------------------------------------------------------| | PGUSER | User name | | PGPASSWORD | Password | | PGHOST | Server host | | PGPORT | Server port | | PGDATABASE | Database within server to connect to (defaults to same as user name) |
The full list is at https://www.postgresql.org/docs/current/libpq-envars.html
Connecting to an AWS RDS instance
The library includes a helper for connecting to an AWS RDS instance with IAM auth. In order to run the test for this, you need to set two additional environment variables:
| Name | Description | |------------|:---------------------------------------------------------------------| | AWS_REGION | AWS region of an RDS database for testing | | AWS_URL | URL of RDS database: pg://user@hostname/database |
By contrast, these tests are not run if the environment variables are not set.
Releasing a new version
yarn version --patch
git push --tags origin main