@pgsql

Страница 961 из 1062
Denis
30.08.2018
22:04:59
так а в чем траблы переезда сообстевнно ? вы хотите решить две задачи апрейдить БД и переехать на версию выше правильно понимаю ?

репликацию не пробовал под разными ОС делать но вроде должно влететь + pg_dump without data

или фишка в том что есть что то что не поддерживается в 10.5 - так вроде обратная совместимость осталась

* честн не переносил такого обьема данных максимум пару десятков гигов - может чего то не понимаю

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

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

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

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

Alexander
31.08.2018
05:12:25
Тут собран релиз https://github.com/pashagolub/pglogical
Павел, спасибо!) Видел кучу форумов с этим вопросом от Вас и не видел ответов. Сегодня затестим.

репликацию не пробовал под разными ОС делать но вроде должно влететь + pg_dump without data
Минимальный простой можем обеспечить. А с pg_dump простой будет дня три, на таком количестве данных.

* честн не переносил такого обьема данных максимум пару десятков гигов - может чего то не понимаю
С Ubuntu 16.04 на Ubuntu 16.04 PostgreSQL 10.0 на PostgreSQL 10.5 перевёз при помощи pglogical базу в 270 Гб за 5 часов с простоем в 15 минут. Это была тренировка перед миграцией основой большой базы.

Yaroslav
31.08.2018
07:45:16
Andrey
31.08.2018
07:46:28
Google
Yaroslav
31.08.2018
07:50:29
Минимальный простой можем обеспечить. А с pg_dump простой будет дня три, на таком количестве данных.
А между этими ОС на одной архитектуре физическая репликация не работает (никогда не пробовал)? > Контрольные суммы выключены, в основном поэтому и мигрирую, ну и хочется всё иметь на Linux. Хмм... наверное, она Вам не подходит, даже если бы работала...

Да, стабильно. Нагрузка порядка 600tps на базе.
Ну а нагрузка системы какая? Может, просто CPU не хватает на такой TPS?

Yaroslav
31.08.2018
08:03:58
CPU20%. Про tps наврал, около 2000tps.
А одновременных connections сколько? И какая версия PostgreSQL?

Andrey
31.08.2018
08:08:13
А одновременных connections сколько? И какая версия PostgreSQL?
Активных порядка 20. Настроен пулинг (pgpool). Это мастер нода. На standby результат абсолютно такой же. Чтобы исключить вашу гипотезу надо выполнить запрос на базе не под нагрузкой. Я попробую это сделать попозже.

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

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

Alexander
31.08.2018
08:30:58
А между этими ОС на одной архитектуре физическая репликация не работает (никогда не пробовал)? > Контрольные суммы выключены, в основном поэтому и мигрирую, ну и хочется всё иметь на Linux. Хмм... наверное, она Вам не подходит, даже если бы работала...
Тоже не пробовал. И почитав вот это - https://wiki.postgresql.org/wiki/Binary_Replication_Tutorial#Prerequisites "...You must have the right setup to make this work: 2 servers with similar operating systems (e.g both Linux 64-bit). ..." Перехотел пробовать. База не подходит? Забрать хоть что-то, тем более логическая репликация, по идее, гарантирует целостность на уровне SQL команд. Приложение работает, отчёты строятся. Пока выглядит, что всё прошло успешно.

connection to database failed: could not create socket: Too many open files

Есть быстрое решение?

Это уже другая БД.

Sergey
31.08.2018
08:32:35
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
А ошибка со стороны базы или о стороны пулера?

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
>я бы делал наоборот, мастера потолще новый слейв и будет будущим новым мастером ?

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
Минимальный простой можем обеспечить. А с pg_dump простой будет дня три, на таком количестве данных.
Та не я о том что сдапмить структуру БД без данных , а потом настроить мастер слейв и сделать репликацию

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
Та не я о том что сдапмить структуру БД без данных , а потом настроить мастер слейв и сделать репликацию
Ровно это и сделал: 1. Создал копию БД (без данных, только структура) при помощи pg_dump и pg_dupmpall. 2. Настроил логическую репликацию через pglogical. 3. Подождал 5 часов пока данные полностью синхронизируются и вырубил БД-донора. А разве есть другой способ репликации между разными major версиями PostgreSQL?

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
Расширение я имею ввиду Константина Книжника - imcs
Ещё вот это было: https://github.com/citusdata/cstore_fdw

Anton
31.08.2018
14:43:34
Вообще чем больше смотрю на postgresql, тем больше удивляюсь, какие клевые решения на нем можно строить

Практически без ограничений и через единые механизмы расширять его.

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

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

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

Anton
31.08.2018
15:08:34
Знаю много компаний, где DBA не в почете, проекты бастро разворачивают через ORM миграторы, не думая о последствиях. Обычно такие вещи как оконки там воспринимаются на уровне магии )
Ну я сам в основном пишу на orm и с субд работает движок платформы, используем Odoo. Но когда залезаешь в аналитику более менее сложную, приходится сочинять 4 этажные запросы и как то orm сразу забывается :) Но я чисто с академической точки зрения люблю всякие технологии смотреть и некоторые своей гениальностью прям завораживают, всегда приятно смотреть на труд в который вложено много творчества, знаний и таланта.

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

Eugeny
31.08.2018
15:28:18
А когда-то получается?)
- "как в NHibernate посадить запрос на GIN" - а как посчитать нарастающий итог? ну и т.д. )

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*/ у ПгПула? Нужно конкретный селект принудительно на стэндбай отправить, не отправляя другие селекты туда

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

Страница 961 из 1062