@acuris/eventstore-postgresql
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i @acuris/eventstore-postgresql

Weekly Downloads

2,717

Version

3.0.0

License

MIT

Unpacked Size

108 kB

Total Files

61

Last publish

Collaborators

  • marciogoda
  • npmacuris
  • tomyan