diff --git a/doc/postgresql.md b/doc/postgresql.md new file mode 100644 index 0000000..bf1d9a7 --- /dev/null +++ b/doc/postgresql.md @@ -0,0 +1,35 @@ +# PostgreSQL + +[PostgreSQL](https://www.postgresql.org/) is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. + +## Getting Started + +```nix +# In `perSystem.process-compose.` +{ + services.postgres."pg1".enable = true; +} +``` + +## Examples + +- Run postgres server initialised with a sample database and graphically interact with it using [pgweb](https://github.com/sosedoff/pgweb): + +## Gotchas + +{#socket-path} +### Unix-domain socket path is too long + +We already talk about this in the [data directory guide](guide/datadir.md#socket-path). In case of postgres, you can set `socketDir` while keeping the `dataDir` unchanged. + +>[!note] +> The `socketDir` must be set to a shorter path (less than 100 chars) as a workaround. + +```nix +{ + services.postgres."pg1" = { + enable = true; + socketDir = "/tmp/pg1"; + }; +} +``` diff --git a/doc/services.md b/doc/services.md index 26616ba..2d4ff5f 100644 --- a/doc/services.md +++ b/doc/services.md @@ -12,7 +12,7 @@ short-title: Services - Elasticsearch - MySQL - Nginx -- PostgreSQL +- [[postgresql]]# - Redis - Redis Cluster - Zookeeper