Бэкэнд хранилища PostgreSQL
Серверная часть хранилища PostgreSQL обладает следующими свойствами:
-
используется для сохранения данных StarVault на сервере или кластере PostgreSQL;
-
поддерживает высокую доступность;
Требуется PostgreSQL 9.5 или более поздней версии.
-
поддерживается сообществом.
storage "postgresql" {
connection_url = "postgres://user123:secret123!@localhost:5432/starvault"
}
|
Серверный модуль хранилища PostgreSQL по умолчанию будет использовать SSL при подключении к базе данных. Если SSL не включен, необходимо настроить |
Серверная часть хранилища PostgreSQL создает все необходимые таблицы в базе данных автоматически.
1. Параметры postgresql
-
connection_url(string: <required>)– указывает строку подключения, которая будет использоваться для аутентификации и подключения к PostgreSQL. URL-адрес подключения также можно задать с помощью переменной средыVAULT_PG_CONNECTION_URL. Полный список поддерживаемых параметров можно найти в библиотеке pgx и документации по строке подключения PostgreSQL. Примеры URL-адресов строк подключения приведены в разделе примеров ниже. -
table(string: "starvault_kv_store")– переопределяет имя таблицы, в которую будут записываться данные хранилища. Эта таблица будет создана автоматически. -
max_idle_connections(int)- Значение по умолчанию не установлено. Задает максимальное количество подключений в пуле незанятых подключений. Дополнительную информацию смотрите в документации golang по setmaxidleconnections. Требуется версия 1.2 или более поздняя. -
max_parallel(string: "128")– указывает максимальное количество одновременных запросов к PostgreSQL. -
ha_enabled(string: "true|false")– По умолчанию не включен, требуется версия PG 9.5 или более поздняя. -
ha_table(string: "starvault_ha_locks")– переопределяет имя таблицы, которая будет использоваться для хранения информации о высокой доступности. Эта таблица будет создана автоматически.
2. Примеры postgresql
2.1. Пользовательская проверка SSL
В этом примере показано подключение к кластеру PostgreSQL с использованием полной проверки SSL (рекомендуется).
storage "postgresql" {
connection_url = "postgres://user:pass@localhost:5432/database?sslmode=verify-full"
}
Чтобы отключить проверку SSL (не рекомендуется), замените verify-full на disable:
storage "postgresql" {
connection_url = "postgres://user:pass@localhost:5432/database?sslmode=disable"
}