lnd/docs/postgres.md

1.4 KiB

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:

⛰  make install

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.