lnd/docs/postgres.md

44 lines
1.4 KiB
Markdown
Raw Normal View History

2021-07-13 12:08:36 +02:00
# Postgres support in LND
With the introduction of the `kvdb` interface, LND can support multiple database
backends. One of the supported backends is Postgres. This document
describes how it can be configured.
## Building LND with postgres support
Since `lnd v0.14.1-beta` the necessary build tags to enable postgres support are
already enabled by default. The default release binaries or docker images can
be used. To build from source, simply run:
2021-07-13 12:08:36 +02:00
```shell
⛰ make install
2021-07-13 12:08:36 +02:00
```
## Configuring Postgres for LND
In order for LND to run on Postgres, an empty database should already exist. A
database can be created via the usual ways (psql, pgadmin, etc). A user with
access to this database is also required.
Creation of a schema and the tables is handled by LND automatically.
## Configuring LND for Postgres
LND is configured for Postgres through the following configuration options:
* `db.backend=postgres` to select the Postgres backend.
* `db.postgres.dsn=...` to set the database connection string that includes
database, user and password.
* `db.postgres.timeout=...` to set the connection timeout. If not set, no
timeout applies.
Example as follows:
```
[db]
db.backend=postgres
db.postgres.dsn=postgresql://dbuser:dbpass@127.0.0.1:5432/dbname
db.postgres.timeout=0
```
Connection timeout is disabled, to account for situations where the database
might be slow for unexpected reasons.