Size: a a a

pgsql – PostgreSQL

2021 March 17

EM

Evgeniy Mihaylovsky in pgsql – PostgreSQL
Валерий Сергеев
А какие параметры хотите поменять?
max_connections =  100
shared_buffers =  1GB
effective_cache_size =  3GB
maintenance_work_mem =  256MB
checkpoint_completion_target =  0.7
wal_buffers =  16MB
default_statistics_target =  100
random_page_cost =  4
effective_io_concurrency =  2
work_mem =  5242kB
min_wal_size =  1GB
max_wal_size =  4GB
max_worker_processes =  4
max_parallel_workers_per_gather =  2
max_parallel_workers =  4
max_parallel_maintenance_workers =  2
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Ilia Zviagin
Что-то я соврал что заработало...
тогда подробнее еще раз:
схему данных
выполняемых запрос , вывод его выполнения
ожидаемый и полученный результат  
все в студию )
источник

𝕾

𝕾𝖔𝖚𝕷𝕭𝖆𝕯𝕲𝖚𝖄... in pgsql – PostgreSQL
А вы про что?
источник

𝕾

𝕾𝖔𝖚𝕷𝕭𝖆𝕯𝕲𝖚𝖄... in pgsql – PostgreSQL
Про моё? Пока работает, надо больше фейковых данных в таблицу забить, чтобы железно проверить, смогу только позже, если вы про мое) Но пока все работает)
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
𝕾𝖔𝖚𝕷𝕭𝖆𝕯𝕲𝖚𝖄
Про моё? Пока работает, надо больше фейковых данных в таблицу забить, чтобы железно проверить, смогу только позже, если вы про мое) Но пока все работает)
тюфу, да, ошибся, не к вам )
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
@feelan03
при использовании патрони есть два варианта управления конфигурацией 1) динамический - когда конфиги хранятся в DCS, 2) локальный - когда конфиги определяются через patroni.yml.
Первый вариант позволяет держать общие параметры для всех узлов кластера, второй вариант позволяет кастомизировать настройки для отдельных узлов (например сделать отдельные настройки для аналитической реплики)
Поэтому сначала важно определиться каким вариантом вы хотите пользоваться, и от этого уже зависит каким образом определять конфиги - через patronictl edit-config, либо через patroni.yml:postgresql.parameters

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

AL

Alexey Lesovsky in pgsql – PostgreSQL
Чтоб лишний раз не рестартить постгрес, пробуйте с менее строгих настроек например work_mem, min_wal_size, max_wal_size - гарантированно убедитесь что вы можете их регулировать, потом переходитсе к тем настройкам что требуют рестарта
источник

EM

Evgeniy Mihaylovsky in pgsql – PostgreSQL
Alexey Lesovsky
@feelan03
при использовании патрони есть два варианта управления конфигурацией 1) динамический - когда конфиги хранятся в DCS, 2) локальный - когда конфиги определяются через patroni.yml.
Первый вариант позволяет держать общие параметры для всех узлов кластера, второй вариант позволяет кастомизировать настройки для отдельных узлов (например сделать отдельные настройки для аналитической реплики)
Поэтому сначала важно определиться каким вариантом вы хотите пользоваться, и от этого уже зависит каким образом определять конфиги - через patronictl edit-config, либо через patroni.yml:postgresql.parameters

и еще один важный момент, некоторые параметры встпуают в силу только после рестарта (например max_connections), патрони при этом сам не перезапустит для вас постгрес, поэтому вам нужно самому перезапустить постгресы чтобы настройки вступили в силу.
О, спасибки. Я понял в чем проблема, у меня кластер развалился)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
бывает да, если не следить
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Alexey Lesovsky
@feelan03
при использовании патрони есть два варианта управления конфигурацией 1) динамический - когда конфиги хранятся в DCS, 2) локальный - когда конфиги определяются через patroni.yml.
Первый вариант позволяет держать общие параметры для всех узлов кластера, второй вариант позволяет кастомизировать настройки для отдельных узлов (например сделать отдельные настройки для аналитической реплики)
Поэтому сначала важно определиться каким вариантом вы хотите пользоваться, и от этого уже зависит каким образом определять конфиги - через patronictl edit-config, либо через patroni.yml:postgresql.parameters

и еще один важный момент, некоторые параметры встпуают в силу только после рестарта (например max_connections), патрони при этом сам не перезапустит для вас постгрес, поэтому вам нужно самому перезапустить постгресы чтобы настройки вступили в силу.
есть еще третий вариант
править файл postgresql.base.conf
но стоит учесть что изменения внесенные в него, могут быть перезаписаны патрони
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
wal_keep_segments поднимите, по дефолту он маленький там и реплики могут отваливаться при интенсивной записи
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Сергей Кравчук
есть еще третий вариант
править файл postgresql.base.conf
но стоит учесть что изменения внесенные в него, могут быть перезаписаны патрони
неуверен... это относится к основому postgresql.conf и там даже есть соответствующий хидер, а вот postgresql.base.conf создается при бутстрапе и затем инклудится из postgresql.conf через include директиву.
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Alexey Lesovsky
неуверен... это относится к основому postgresql.conf и там даже есть соответствующий хидер, а вот postgresql.base.conf создается при бутстрапе и затем инклудится из postgresql.conf через include директиву.
проверено на практике, работает )
именно потому что инклюдится, но если в postgresql.conf эти параметры так же изменяются (а берутся они из yml файла) , то значения будут применены последние
пути разные есть
я не говорю, что этот хорош, но он есть )
источник

I

I C in pgsql – PostgreSQL
привет всем!
насколько сложно перенести корневую папку postgres в другую директорию?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
I C
привет всем!
насколько сложно перенести корневую папку postgres в другую директорию?
легко, но с даунтаймом
без даунтайма или с минимальным сложнее
источник

I

I C in pgsql – PostgreSQL
а можете порекомендовать ссылки, пожалуйста
а то нахожу только как сменить директорию /data/
источник

I

I C in pgsql – PostgreSQL
я так понимаю нужно установить postgres в другое место и туда залить все настройки чем-то типа pg_dump?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
I C
я так понимаю нужно установить postgres в другое место и туда залить все настройки чем-то типа pg_dump?
нее, если речь идет о перемещении внутри 1 машины в другую папку (обычно другой дисковый раздел) на unix системе, то все просто, сейчас опишу поподробнее
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Сергей Кравчук
проверено на практике, работает )
именно потому что инклюдится, но если в postgresql.conf эти параметры так же изменяются (а берутся они из yml файла) , то значения будут применены последние
пути разные есть
я не говорю, что этот хорош, но он есть )
чота попробовал... не получилось
указал параметр в patroni.yml.
прописал этот же параметр, но с другим значением в postgresql.base.conf
сделал patronictl reload, конфигурация перегрузилась, но значение взялось из postgresql.conf, значение из base.conf проигнорировалось, сам base.conf остался неизменен.
ну если я конечно вас правильно понял
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
останавливаем сервис
копируем весь каталог данных в нужное место
исправляем в настройках демона параметр datadir (или как-то так) на нужное место
старый каталог можно переместить в подпапку в текущем месте (чтобы точно запускать нужную копию)
на новый каталог перепроверить владельца и права
в конфиге перепроверить пути к разным файлам (они должны быть относительными или содержать новый путь)
запустить сервис (скорее всего демон попросить перечитать конфигурацию, это нормально),

как-то так
источник