Измените значение конфигурации Postgres в Docker на Azure - PullRequest
0 голосов
/ 06 августа 2020

Наш проект использует TimescaleDB на PostgreSQL в Azure экземпляре контейнера. Но когда я меняю настройки, например, max_connections в файле var / lib / postgresql / data / postgresql .conf, значение возвращается в предыдущее состояние после перезагрузки (для изменения я использовал редактор vi). Я создаю контейнер с помощью Dockerfile.

FROM timescale/timescaledb:latest-pg12

ENV POSTGRES_USER=admin \
    POSTGRES_DB=timescaledb \
    POSTGRES_PASSWORD=test123# \

Есть ли какая-нибудь переменная среды для установки этих значений? Как лучше всего хранить базу данных, можно ли перенести БД в Azure Хранилище?

1 Ответ

0 голосов
/ 06 августа 2020

Если вы сами управляете Dockerfile, вы можете исправить там модификацию postgresql.conf. Например, добавьте следующую строку в Dockerfile, которая установит max_connections на 100:

sed -r -i "s/[#]*\s*(max_connections)\s*=\s*0/\1 = 100/" /usr/local/share/postgresql/postgresql.conf.sample

Также я предлагаю проверить Azure документацию при настройке PostgreSQL сервера. . Например, для обновления max_connections параметр конфигурации сервера mydemoserver.postgres.database.azure.com в группе ресурсов myresourcegroup будет:

az postgres server configuration set --name max_connections --resource-group myresourcegroup --server mydemoserver --value 100
...