Параметры PostgreSQL#

Примечание

Параметры можно указывать в нотации snake_case. Переданные параметры автоматически преобразуются в camelCase.

Параметры создания сервиса#

Эти параметры указываются в качестве parameters в методе CreateService.

При создании нового сервиса нужно обязательно указать параметры, отмеченные как Необходимые.

Если выбранная версия PostgreSQL поддерживает другие параметры, то их можно задать внутри параметра options.

vendor#

Вендор подсистемы хранения СУБД PostgreSQL.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

String

pgsql
pgsql1c

pgsql

version#

Версия подсистемы хранения СУБД. Версия зависит от вендора.

Необходимо

Тип данных

Допустимые значения

Да

String

pgsql: 14, 15, 16, 17, 18;
pgsql1c: 16, 17

replicationMode#

Режим репликации в кластере Patroni. Доступен только при выборе опции Отказоустойчивый сервис.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Да, если выбрана опция Отказоустойчивый сервис

String

asynchronous
synchronous
synchronous_strict

asynchronous

autovacuum#

Параметр, который управляет состоянием демона, запускающего автоочистку.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

String

ON/OFF

ON

N/A

autovacuumAnalyzeScaleFactor#

Процент от размера таблицы, который будет добавляться к autovacuumAnalyzeThreshold при выборе порога срабатывания команды ANALYZE.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Float

0–100

0.1

N/A

autovacuumMaxWorkers#

Максимальное число процессов автоочистки, которые могут выполняться одновременно (не считая процесс, запускающий автоочистку).

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

1–262143

3

= vCPU, min 3

autovacuumVacuumCostDelay#

Задержка в миллисекундах при превышении предела стоимости, которая будет применяться при автоматических операциях VACUUM.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

-1
1–100

20 (вер. 10-11)
2 (вер. 12+)

N/A

autovacuumVacuumCostLimit#

Предел, который учитывается при автоматических операциях VACUUM.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

-1
1–10000

-1

N/A

autovacuumVacuumScaleFactor#

Процент от размера таблицы, который будет добавляться к autovacuumVacuumThreshold при выборе порога срабатывания команды VACUUM.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Float

0–100

0.2

N/A

defaultPoolSize#

Размер пула открытых подключений к базам данных (PgBouncer).

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Integer

1–1500

20

maxConnections#

Максимальное число одновременных подключений к серверу БД.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

1–262143

100

200 × vCPU

sharedBuffers#

Объём памяти, который будет использовать сервер баз данных под буферы в разделяемой памяти. Ознакомиться с описанием можно здесь.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

128–8589934584 КиБ

128 МиБ

25% RAM

walKeepSegments#

Минимальное число файлов имеющихся сегментов журнала, которые будут сохраняться в каталоге pg_xlog, чтобы сервер мог выбрать их при потоковой репликации. Параметр актуален только для следующих версий PostgreSQL: 12.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

0–2147483647

0

4

walBuffers#

Объём разделяемой памяти, который будет использоваться для буферизации данных WAL, ещё не записанных на диск. Указывается в виде целого числа, означающего количество юнитов размером 8 КиБ.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

8–262143

1/32 shared buffers, не менее 8 (64 КиБ), но не более размера одного сегмента WAL

N/A

effectiveCacheSize#

Параметр, на основании которого планировщик оценивает эффективный размер дискового кеша, доступного для одного запроса. Подробнее здесь.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

8–17179869176 КиБ

4 ГиБ

N/A

workMem#

Объём памяти в байтах, который будет использоваться для внутренних операций сортировки и хеш-таблиц, прежде чем будут задействованы временные файлы на диске.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

64–2147483647 КиБ

4 МиБ

N/A

maintenanceWorkMem#

Максимальный объём памяти в байтах для операций обслуживания БД (VACUUM, CREATE INDEX и ALTER TABLE ADD FOREIGN KEY).

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

1 МиБ–2 ГиБ

64 МиБ

N/A

effectiveIoConcurrency#

Допустимое количество параллельных операций ввода/вывода.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

0–1000

1

N/A

maxWorkerProcesses#

Максимальное количество фоновых процессов, которое можно запустить в текущей системе.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

0–262143

8

= vCPU

maxParallelWorkersPerGather#

Максимальное количество рабочих процессов, которые могут запускаться одним узлом Gather. Параллельные рабочие процессы берутся из пула процессов, контролируемого параметром maxWorkerProcesses.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

0–1024

2

vCPU/2

maxParallelMaintenanceWorkers#

Максимальное количество рабочих процессов, которые могут запускаться одной служебной командой. Параметр актуален только для PostgreSQL, начиная с версии 11 и выше.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

0–1024

2

vCPU/2

maxParallelWorkers#

Максимальное количество рабочих процессов, которое система сможет поддерживать для параллельных запросов.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

0–1024

8

= vCPU

maxClientConn#

Максимально допустимое количество клиентских подключений к PgBouncer.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Integer

1–1000

100

poolMode#

Режим работы PgBouncer.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

String

session
transaction
statement

session

monitoring#

Подключение к сервису мониторинга.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Для всех сервисов, кроме Prometheus

Есть

Boolean

true
false

false

monitorBy#

Идентификатор сервиса мониторинга. Указанный сервис должен быть развёрнут в том же проекте, что и текущий сервис.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да, если передан параметр monitoring = true. Если monitoring = false, передача параметра невозможна

Есть

String

ID сервиса мониторинга, расположенного в том же VPC, что и текущий сервис

monitoringLabels#

Метки, которые будут назначены метрикам мониторируемого сервиса в сервисе мониторинга.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет. Если monitoring = false, передача параметра невозможна

Есть

Dict

Имя метки может содержать цифры, латинские буквы, символ подчёркивания. Значение метки может содержать любые ASCII-символы.

logging#

Подключение к сервису логирования.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Для всех сервисов, кроме ELK и Prometheus

Есть

Boolean

true
false

false

logTo#

Идентификатор сервиса логирования. Логируемый сервис должен быть развёрнут в том же проекте, что и текущий сервис.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Да, если передан параметр logging = true. Если logging = false, передача параметра невозможна

Есть

String

ID сервиса мониторинга, расположенного в том же VPC, что и текущий сервис

loggingTags#

Теги, которые будут назначены записям журнала текущего сервиса в сервисе логирования.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет. Если logging = false, передача параметра невозможна

Есть

List of strings

Строка не более 256 символов

options#

Контейнер для других параметров PostgreSQL.

Необходимо

Тип данных

Допустимые значения

Нет

Dict

N/A

pgbouncerOptions#

Контейнер для других параметров PgBouncer.

Необходимо

Тип данных

Допустимые значения

Нет

Dict

N/A

Параметры создания пользователя#

Эти параметры указываются в поле parameters объекта User при передаче последнего в параметре users метода ModifyService.

Свойство Возможность редактирования указывает, возможно ли изменение значения параметра после создания пользователя.

connectionLimit#

Лимит подключений пользователя к базе данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Integer

-1–2147483647

-1

password#

Пароль пользователя базы данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Да

Есть

String

Не должен содержать символы ', ", ` и \

N/A

passwordEncryption#

Алгоритм шифрования пароля пользователя к базе данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

String

md5
scram-sha-256

scram-sha-256

replication#

Выдача прав на запуск репликации базы данных этим пользователем.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Boolean

False
True

False

roles#

Роли пользователя базы данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Array of strings

pg_create_subscription
pg_maintain
pg_monitor
pg_read_all_data
pg_read_all_settings
pg_read_all_stats
pg_signal_backend
pg_stat_scan_tables

[]

settings#

Параметры роли пользователя.

applicationName#

Название приложения, отображающееся в логах, мониторинге и статистике PostgreSQL (pg_stat_activity).

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

String

Строка до 64 символов (печатные ASCII-символы)

N/A

defaultTransactionIsolation#

Уровень изоляции новых транзакций по умолчанию.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Enum

read committed, repeatable read, serializable

N/A

defaultTransactionReadOnly#

Указывает, будут ли транзакции по умолчанию запускаться в режиме «только чтение».

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Boolean

off, on

N/A

idleInTransactionSessionTimeout#

Максимальное время, в течение которого открытая транзакция может оставаться неактивной. При значении 0 максимальное время не ограничено.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Integer

Целое число в миллисекундах >= 0

N/A

idleSessionTimeout#

Максимальное время, в течение которого открытая сессия может оставаться неактивной. При значении 0 максимальное время не ограничено.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Integer

Целое число в миллисекундах >= 0

N/A

lockTimeout#

Максимальное время, в течение которого запрос может ожидать получения блокировки на объект базы данных. При значении 0 максимальное время не ограничено.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Integer

Целое число в миллисекундах >= 0

N/A

searchPath#

Список схем и порядок их перебора для поиска объектов базы данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

String

Список схем через запятую

N/A

statementTimeout#

Максимальное время, отведённое на выполнение запроса. При значении 0 максимальное время не ограничено.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Integer

Целое число в миллисекундах >= 0

N/A

timezone#

Часовой пояс сессии пользователя.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

String

Строка с именем часового пояса

N/A

Параметры создания базы данных#

Эти параметры указываются в поле parameters объекта Database при передаче последнего в параметре databases метода ModifyService.

Свойство Возможность редактирования указывает, возможно ли изменение значения параметра после создания базы данных.

С помощью параметров backupId и backupDbName осуществляется восстановление базы данных из имеющейся резервной копии. Информацию об имеющихся резервных копиях можно получить с помощью метода ListBackups.

owner#

Имя пользователя, который является владельцем БД. Должен быть одним из существующих пользователей. Такого пользователя нельзя удалить, пока он является владельцем базы данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Да

Есть

String

Существующий пользователь базы данных

N/A

locale#

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Нет

String

Любое корректное значение кодировки

ru_RU.UTF-8

encoding#

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Нет

String

Любое корректное значение кодировки

UTF8

extensions#

Список расширений, которые будут активированы для данной БД.

Примечание

Расширение pg_stat_statements доступно, начиная с версии окружения paas_v3_6.

Примечание

Расширения pg_repack и pg_squeeze доступны, начиная с версии окружения paas_v4_0.

Примечание

Для вендора pgsql1c расширения mchar, fasttrun, fulleq и plantuner устанавливаются автоматически.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Есть

Array of strings

pgsql:
address_standardizer
address_standardizer_data_us
amcheck
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
fuzzystrmatch
hstore
intarray
isn
lo
ltree
moddatetime
pg_buffercache
pg_repack
pg_squeeze
pg_stat_statements
pg_trgm
pg_visibility
pgcrypto
pgrowlocks
pgstattuple
postgis
postgis_tiger_geocoder
postgis_topology
postgres_fdw
seg
tablefunc
tcn
timescaledb
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
xml2
pgsql1c:
amcheck
auto_dump
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hstore
insert_username
intagg
intarray
isn
ltree
moddatetime
pageinspect
pg_buffercache
pg_freespacemap
pg_prewarm
pg_stat_statements
pg_surgery
pg_trgm
pg_visibility
pg_wait_sampling
pg_walinspect
pgcrypto
pgrowlocks
pgstattuple
plpgsql
postgres_fdw
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
xml2

N/A

backupId#

Идентификатор резервной копии базы данных.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Нет

Нет

String

Идентификатор существующей резервной копии базы данных

N/A

backupDbName#

Имя базы данных из резервной копии, указанной в параметре backupId.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

По умолчанию

Да, если указан backupId

Нет

String

Имя базы данных, содержащейся в резервной копии

N/A

Параметры создания и редактирования хранилища резервных копий#

Эти параметры указываются в качестве parameters в методах CreateBackupStorage и ModifyBackupStorage.

При создании нового хранилища резервных копий нужно обязательно указать все параметры, отмеченные как Необходимые.

type#

Тип хранилища резервных копий.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да

Есть

String

s3

bucket#

Имя бакета в объектном хранилище, в котором будут сохраняться резервные копии.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да

Есть

String

Имя бакета в объектном хранилище

user_login#

Логин пользователя с правами на запись в бакет объектного хранилища.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да

Есть

String

Имя пользователя с правами на запись в бакет объектного хранилища

url#

URL объектного хранилища. Если не указан, используется URL К2 Облака.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

String

Корректный URL

verify_ssl#

Указывает, проверять ли SSL-сертификат при подключении к объектному хранилищу. Если не указан, используется значение по умолчанию из конфигурации облака.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

Boolean

true
false

chunk_size#

Размер фрагмента, на которые разделяется файл при загрузке в объектное хранилище. Задаётся в виде строки в формате <N>M (МиБ). По умолчанию — 128M.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

String

Строка вида <N>M, где N — положительное число

encrypt#

Указывает, шифровать ли резервные копии при сохранении в объектное хранилище. При включении используется шифрование SSE-C, ключ генерируется автоматически на стороне сервиса. По умолчанию — false.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

Boolean

true
false

Параметры создания и редактирования задания резервного копирования#

Эти параметры указываются в качестве parameters в методах CreateBackupJob и ModifyBackupJob.

При создании нового задания резервного копирования нужно обязательно указать все параметры, отмеченные как Необходимые.

method#

Метод резервного копирования. Метод wal-g поддерживается только для сервисов PostgreSQL.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да

Есть

String

dump
wal-g

storage#

Имя хранилища резервных копий, в которое будут сохраняться резервные копии. Хранилище с таким именем должно быть предварительно создано методом CreateBackupStorage.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да

Есть

String

Имя хранилища резервных копий сервиса PaaS

time#

Время запуска задания по московскому времени.

Задаётся в виде списка из двух строк — часов и минут.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да

Есть

List of strings

Список из двух строк:
часы (00–23)
минуты (00–59)

day#

День недели, в который выполняется задание. Если не указан, задание выполняется ежедневно.

Для метода wal-g:

  • если параметр не указан, выполняется полное резервное копирование еженедельно по воскресеньям и инкрементальное — каждый день;

  • если параметр указан, выполняется только полное резервное копирование в указанный день, инкрементальное не выполняется.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

String

0 — воскресенье
1 — понедельник
2 — вторник
3 — среда
4 — четверг
5 — пятница
6 — суббота

node#

Имя узла кластера, на котором выполняется задание. Если не указано, задание выполняется на первом узле кластера.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

String

Имя одного из узлов кластера сервиса (например, node0)

databases#

Список имён баз данных, для которых создаются резервные копии. Параметр применим только для метода dump. Если список пуст, резервные копии создаются для всех баз данных сервиса, управляемых облаком.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

List of strings

Список имён баз данных сервиса

schema_only#

Указывает, сохранять ли только схемы баз данных. Параметр применим только для метода dump.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

Boolean

true
false

rotate#

Срок хранения полных резервных копий в днях. Параметр применим только для метода wal-g.

Полная резервная копия старше указанного количества дней не удаляется, если от неё зависят более новые инкрементальные копии.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Да, для метода wal-g

Есть

Integer

Положительное число

instant#

Указывает, выполнить ли резервное копирование немедленно, вне расписания.

Необходимо

Возможность редактирования

Тип данных

Допустимые значения

Нет

Есть

Boolean

true
false