
Denis
30.08.2018
22:04:59
так а в чем траблы переезда сообстевнно ? вы хотите решить две задачи апрейдить БД и переехать на версию выше правильно понимаю ?
репликацию не пробовал под разными ОС делать но вроде должно влететь + pg_dump without data
или фишка в том что есть что то что не поддерживается в 10.5 - так вроде обратная совместимость осталась
* честн не переносил такого обьема данных максимум пару десятков гигов - может чего то не понимаю

Google

Ilia
30.08.2018
22:18:44

Pavel
30.08.2018
22:24:00


Andrey
31.08.2018
03:26:23
Всем привет. Удаляю старые данные в базе например было за 400 где то дней стало за 180. А места на диске не сильно больше становиться. Почему может быть такое?

Andrey
31.08.2018
03:49:57
Подскажите, в каком случае postgres может долго доставать первый тупл из индекса? Мёртвых туплов нет, ANALYZE делал.
https://explain.depesz.com/s/PKHM

Andrey
31.08.2018
04:06:35
Нагуглил что-то про pgcompactor утилиту. Ушел курить.

Alexander
31.08.2018
05:12:25

Yaroslav
31.08.2018
07:45:16

Andrey
31.08.2018
07:46:28

Google

Yaroslav
31.08.2018
07:50:29

Andrey
31.08.2018
08:02:49

Yaroslav
31.08.2018
08:03:58

Andrey
31.08.2018
08:08:13

Yaroslav
31.08.2018
08:11:01
Так какая версия PostgreSQL? А "железо" (CPU/ядра)?
> На standby результат абсолютно такой же.
Интересно... А там какая нагрузка? И какая это ОС?

Andrey
31.08.2018
08:16:32

Yaroslav
31.08.2018
08:21:05
9.5.13, база в контейнерах.
А какое это реальное железо, всё же (может, дело просто в контейнерах)?
Просто всё это вместе немного подозрительно: "CPU 20%", "tps около 2000", "активных порядка 20"...

Alexander
31.08.2018
08:30:58
connection to database failed: could not create socket: Too many open files
Есть быстрое решение?
Это уже другая БД.

Sergey
31.08.2018
08:32:35

Yaroslav
31.08.2018
08:34:53

Alexander
31.08.2018
08:37:00
Посмотрите в сторону ulimit
А какое адекватное значение выставить? Используем pgbouncer с настройками:
pool_mode = transaction
max_client_conn = 1000
default_pool_size = 40
reserve_pool_size = 10
max_db_connections = 50
max_user_connections = 900
postgresql.conf
max_connections = 100

Sergey
31.08.2018
08:38:13
А ошибка со стороны базы или о стороны пулера?

Alexander
31.08.2018
08:38:20

Terminator
31.08.2018
08:50:23
DSMarkin будет жить. Поприветствуем!

Alexander
31.08.2018
08:51:33
А ошибка со стороны базы или о стороны пулера?
repmg на реплике
[2018-08-31 11:47:38] [WARNING] connection to node 2 lost
[2018-08-31 11:47:38] [ERROR] connection to database failed:
could not create socket: Too many open files
Остальные логи чистые . Для текущих настроек пулера нужно задать адекватное значение ulimit.

Terminator
31.08.2018
09:01:44
@baltazorbest будет жить. Поприветствуем!

Google

Aleksandr
31.08.2018
09:05:33
Приветствую. Изучаю сейчас постгрес в общем и стриминг репликацию в частности, возникло пару вопросов, может кто смог бы ответить на них:
1) обязательно ли должны быть идентичными конфиги на мастере и слейве? интересует параметр synchronous_commit , если на мастере он будет в on а не слейве local ничего страшного не будет?
2) на сколько обязательно должны быть идентичными сервера? если например на мастере CPU 4 core, x64, 400gb ssd а на слейве CPU 8 core, x64, 600gb ssd будут ли с этим проблемы?
Спасибо большое за ответы.

Tim
31.08.2018
09:45:31
1) мне кажется что нет разницы, слейв же дальше себя никуда не синхронит
2) у слейва работы в целом меньше чем у мастера, мастер апдейтит базу так же как слейв, только ещё и клиентов обслуживает, пересылая им резалсеты
я бы делал наоборот, мастера потолще
но точно вы померите с помощью pg_bench, например

Aleksandr
31.08.2018
09:48:43
>я бы делал наоборот, мастера потолще
новый слейв и будет будущим новым мастером ?

Andrey
31.08.2018
09:49:11


Aleksandr
31.08.2018
09:49:12
нужно просто временно сделать:
Мастер - Слейв - Слейв
то есть будет каскадное реплецирование временно сделано
и на текущем слейве планирую опцию synchronous_commit выставить в local что бы текущий слейв/мастер не дожидался применения транзакции на новом слейве, так как между ними пинг 50мс и боюсь из-за этого синхронная репликация будет работать очень медленно
А подскажите пожалуйста ещё такой момент, если в какой то момент времени выкл. постгрес и перенести файлы на другой сервер, данные на новом сервере без проблем подымутся ? Если полностью скопировать конфиг файл

Anton [Mgn, az09@osm]
31.08.2018
10:27:35
С той же версией сервака
Это называется файловый бэкап и кажется в доке описано

Aleksandr
31.08.2018
10:28:51
Да, с той же версией, отлично, спасибо

Anton
31.08.2018
10:45:34
А разве вышестоящие версии не умеют апгрейд кластера?
До своей версии поднимать

Eugeny
31.08.2018
12:48:16
Народ, а есть способ распаковать незарегистрированный рекорд?
сам спросил сам ответил ))
select (t).*
from (
select t
from (
select 1 as A, 2 as B
) t
) t

Denis
31.08.2018
13:23:02

Eugeny
31.08.2018
13:26:24
А можно охладить БД не перезапуская?

Warstone
31.08.2018
13:26:58
А зачем, прости госсподи?..

Terminator
31.08.2018
13:27:24
@DeeShev будет жить. Поприветствуем!

Warstone
31.08.2018
13:28:04
Просто если память отдать, то просто на файловый кеш надейтесь и не отдавайте много под Пг кеш. Оно вроде всегда так работало.

Google

Eugeny
31.08.2018
13:28:06
Ну я очень большой отчет делаю, проверяю индексы все такое, хотелось бы время от времени запускать его на не прогретой БД
(БД не продакшн)

Warstone
31.08.2018
13:28:34
Если для тестов - рестартните Пг

Eugeny
31.08.2018
13:30:46
эх, ну лан, спасибо )

Alexander
31.08.2018
13:33:19

Yaroslav
31.08.2018
13:34:53


Sergey
31.08.2018
14:07:42
Довелось сегодня поработать с mysql, не могу не поделиться таким разочарованием)
Разбирался, почему же в phpmyadmin запрос, содержащий WHERE some_column_name is not null возвращал таки строки с null'ами. И внезапно обнаружилось, что mysql крив, во всяком случае, старые версии (5 ветка), да и phpmyadmin тоже не айс.
Есть поле типа datetime, приложение по ошибке писало туда unix таймштампы числом. И mysql, вместо того, чтобы выкинуть ошибку на неправильное значение даты, записывал туда 0000-00-00. А phpmyadmin в свою очередь выдавал [null], не ожидая получить такую странную дату. Потестил ради интереса на восьмой ветке мускуля, он отрабатывает корректно - кидает ошибку на неправильное значение. Но получается что пятому mysql вообще нельзя доверять.

Dmitry
31.08.2018
14:10:08
Можно, если sql_mode настроить

Sergey
31.08.2018
14:15:08
Можно, если sql_mode настроить
хм, да, действительно. Потестил, предварительно настроив сессию так:
set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE';
и с такими настройками не дает записать неправильное значение.
но все равно, странный подход к настройкам по умолчанию) это, имхо, гораздо хуже, чем изначально отключенные чексуммы в постгресе

Dmitry
31.08.2018
14:15:33
bc, что поделать

Anton
31.08.2018
14:37:55
Как то наткнулся на старое видео Яндекса, где они рассказывали о своей кликхаус колоночной. Подумал, что такую штуку ведь можно и на pg расширением сделать и похожее нашел. Кто-нибудь знает за счет чего у них такое быстродействие?

Darafei
31.08.2018
14:41:56
Там нет апдейтов

Anton
31.08.2018
14:41:56
Расширение я имею ввиду Константина Книжника - imcs

Yaroslav
31.08.2018
14:42:46

Anton
31.08.2018
14:43:34
Вообще чем больше смотрю на postgresql, тем больше удивляюсь, какие клевые решения на нем можно строить
Практически без ограничений и через единые механизмы расширять его.
Раньше сильно не воспринимал разработку СУБД, как что-то что может затягивать. Все таки системный достаточно уровень. Казалось это скучным. То ли дело прикладной уровень - каждый день от заказчиков какая- нибудь канитель и хотелка появляется. Но блин классно сделали архитектуру postgresql. Поэтому всех, кто придумывает и пишет postgresql прям искренне благодарю за Вашу работу! Хорошее дело делаете! Спасибо!

Eugeny
31.08.2018
14:55:09

Anton
31.08.2018
14:59:33
Наверное это какая то шутка была и я не въехал

Google

Eugeny
31.08.2018
15:01:23
Знаю много компаний, где DBA не в почете, проекты бастро разворачивают через ORM миграторы, не думая о последствиях. Обычно такие вещи как оконки там воспринимаются на уровне магии )

Anton
31.08.2018
15:08:34

Grigory
31.08.2018
15:21:16
это точно про постгрес?

Bogdan (SirEdvin)
31.08.2018
15:26:59

Eugeny
31.08.2018
15:28:18

Bogdan (SirEdvin)
31.08.2018
15:29:10
Эм .. всегда же есть raw sql в нужных случаях, в code first это отлично укладывается.

Максим
31.08.2018
15:30:02
Всем привет! На новой работе требуют умение работать с этой СУБД. Ранее имел не плохой опыт по работе с MySQL.
Подскажите, пожалуйста, с чего начать? Что почитать? Может есть какие то статьи/видео по краткому описанию:
- утилиты командной строки;
- типы данных;
- особенности работы(было бы отлично получить отличия от MySQL);
- список фич, которых нет в мускуле;
- конфигурирование.
Я понимаю, что "Гугл в помощь", но с английским не оч, а найти что то толковое ( типа записок Postgres DBA) не получается

Alexander
31.08.2018
15:31:31
Господа, а нет ли противоположенности /*NO LOAD BALANCE*/ у ПгПула? Нужно конкретный селект принудительно на стэндбай отправить, не отправляя другие селекты туда

Mike Chuguniy
31.08.2018
15:35:06

Terminator
31.08.2018
15:40:46
@quantopirotroid будет жить. Поприветствуем!

Yaroslav
31.08.2018
15:42:37