bootstrap/specs/postgres/template/README.md

28 lines
882 B
Markdown

# Postgres Flake Template
This is a template for constructing a working environment for local
[Postgres](https://www.postgresql.org/) (version 15.5) usage. [direnv](https://direnv.net/)
can be used to a launch a dev shell upon entering this directory (refer to
`.envrc`). Otherwise run via:
```bash
$ nix develop
```
## Quickstart
An empty Postgres cluster is initialized at `/db`. To start the database, run
the following:
```bash
$ pg_ctl -D db -l db/logfile -o --unix_socket_directories=@postgres start
```
In the above command, `@postgres` refers to an [abstract socket name](https://www.postgresql.org/docs/15/runtime-config-connection.html#GUC-UNIX-SOCKET-DIRECTORIES).
Rename to whatever is appropriate for your use case. To then connect to this
database instance, run:
```bash
$ psql -h @postgres
```
To later shut the database down, run:
```bash
$ pg_ctl -D db stop
```