
nietzschebrod
14.07.2016
13:35:32
Было бы существенно проще найти инфу по беде, если бы не клюквенные логи

Айтуар
14.07.2016
13:37:02
других нет

nietzschebrod
14.07.2016
13:37:41
"corrupted item pointer"
сегфолты с оомами точно не приходили?

Google

Айтуар
14.07.2016
13:37:59
неа

nietzschebrod
14.07.2016
13:38:27
и диск бодрячком?

Айтуар
14.07.2016
13:39:03
тоже думал диск
но кластер новый пересоздавал
а ошибка та же
PANIC: corrupted item pointer: offset = 2240, size = 48
вот такие сообщения в другом кластере на 9,2

Oleg
14.07.2016
13:45:28
Всем добрый вечер. Поручили организовать горячие бэкапы на PostgreSql 9.3. Почитал доки, но остались некоторые вопросы. Как часто стоит делать базовый бэкап включающий в себя wal файлы? Т.е. к примеру 3-4 раза в день? Сами wal хранить какой период? Можно ли каждый день перемещать/архивировать wal файлы? Не будут ли конфликтов имен файлов? Например убарл в архив кипу wal'ов, потом через день организовался wal с таким же именем, необходимо восстановится. При извлечении wal'ов не будут ли проблемы с одинаковыми именами?
И вообще какого подхода стоит придерживаться при таком методе? Все доки описывают лишь общую информацию с которой как раз нет проблем. А вот архитектурную часть не затрагивают.

Artem
14.07.2016
13:48:19
https://grap4it.files.wordpress.com/2013/11/apress-rman-recipes-for-oracle-database-11g.pdf
Общие приципы описаны
инструменты разные, базы разные но суть одна и та-же
архитектурно пожно почитать там

Google

Oleg
14.07.2016
13:52:57
А Если кратко пройтись по вопросам выше? В частности интересует конфликт имен файлов. Такое вообще возможно?
За ссылку на книгу спасибо.

dmitriy
14.07.2016
13:55:15
Общий принцип такой: раз в N единиц времени делаете бэкап, храните M бэкапов и непрерывный архив WAL с самого старого бэкапа. N и M зависят от времени снятия бэкапа и от ваших возможностей по хранению всего этого добра
Конфликтов в именах файлов не будет
настройте периодический pg_basebackup + archive_command в конфиге

Oleg
14.07.2016
14:01:51
Полный бэкап на данный момент небольшой. В в заархивированном виде порядка 9 гигов. Частота базовых бэкапов насколько важна? 2 раза в сутки, раз в сутки, чаще?Предположим если имеется постоянно 4 базовых бэкапа A,B,C,D и срез wal'ов от A до D - это по сути тоже самое что просто базовый бэкап A + все wal'ы. Или я не так понимаю? Преимущество от этого будет только в скорости накатывания wal'ов?

dmitriy
14.07.2016
14:05:42
да, от А до состояния между C и D, например, будет дольше накатываться, чем от С до этого состояния. Но если у вас активность в базе мала => мало wal, разница во времени будет небольшая
частота выполнения бэкапа зависит от ваших требований. Сколько у вас есть время на восстановление. Возьмите, протестируйте, сколько ваша база будет накатывать сутки логов. Если вас это время устраивает, то ставьте раз в сутки. Но чаще чем раз в сутки, я не видел, чтобы кто-то делал на сколь-нибудь значительном объеме данных (9Гб - маленький объем).

Oleg
14.07.2016
14:12:28
По опыту, насколько снятие бэкапа замедляет одновременную работу пользователей? Существенный ли это фактор?

dmitriy
14.07.2016
14:13:39
на загруженной базе может чувствоваться, поэтому бэкап, как правило, снимают с реплики

Oleg
14.07.2016
14:15:06
Реплику, к сожалению, руководство поднимать пока отказывается. База не нагружена. Порядка 25-50 пользователей. Но запросы бывают довольно тяжелыми.

dmitriy
14.07.2016
14:19:55
протестируйте, пока не протестируйте - не поймете

Oleg
14.07.2016
14:22:16
Спасибо!

Alexey
14.07.2016
14:22:31
А на реплике бэкап при постоянных апдейтах мастера может отваливаться, если слишком много изменений

Alex
14.07.2016
14:23:17
дык настраивать нада

dmitriy
14.07.2016
14:23:55
вы про дамп или про бэкап?

Maxim
14.07.2016
14:43:08
про бэкап

Yury
14.07.2016
16:19:50
А чем вы делаете бекап, что он отваливается?

Alexey
14.07.2016
16:41:19

Yury
14.07.2016
16:42:11
и с каким ответом он отваливается? Просто это как то нереалистично.

Google

dmitriy
14.07.2016
16:43:43
ну pg_dump - это дамп, а не бэкап. Он отваливается, когда вакуум почистил строки на мастере, которые должны быть видны pg_dump'у
и происходит conflict with recovery

Alexander
14.07.2016
16:44:09
Никто не против, если я посоветую вот эту тулзу для бэкапов WAL файлов?
https://github.com/wal-e/wal-e
используем уже как 2 года и довольны
умеет бэкапить в облако
S3, Google Storage, Azure BS...

Alexey
14.07.2016
16:46:47
и происходит conflict with recovery
Вот что-то типа того, pg_dump canceling statement due to conflict with recovery. У нас база была около 300 гигов, сама не росла, но апдейты очень быстро прокручивали wal-логи, вакуумы вакуумили, мы в итоге эти апдейты убрали в редис. И оттуда сливаем раз в час.

dmitriy
14.07.2016
17:04:12
просто pg_dump делает как бы дамп, т.е. логический бэкап, а pg_basebackup делает физический бэкап, он так не отваливается

AbiGeuS
14.07.2016
17:32:15
Добрый день. Сегодня вдруг упала одна из баз данных с ошибкой вида «неверная страница в блоке ххх отношения /base/..." реиндексация, вакуум, падает на нем же. Стоит 9.3.4 1с. Пришлось откатываться на бэкап. Собственно из-за чего произошло это и как этого избежать в будущем? Можно ли восстановить уже пожилые данные до состояния консистентности?

Антон
14.07.2016
17:36:54

AbiGeuS
14.07.2016
17:38:34
База крутится на виртуалке, виртуалка запущена на кластере esxi. Причем поднята виртуалка совсем недавно... Как-то сомнительно что из-за этого. Могут быть еще причины? Файловая система ext4

Антон
14.07.2016
17:53:59

Maxim
14.07.2016
18:26:39
а так - да, золотая тулза

Juriy
14.07.2016
18:30:10
> «неверная страница в блоке ххх отношения
А сколько баз 1С на сервере и, если их много, какой паттерн их именования? Например "cluster1", "cluster_1", "cluster.1" и т.п.

Dmitriy
14.07.2016
18:31:41
Вы кстати как решили вашу проблему? Переход на другой винт? Смогли восстановить данные, или откатывались на бэкапы?
У меня была подобная ситуация. Данные восстановил частично, кроме участков с битой страницей.
Делал дамп битой таблицы, с ограничением по ид, часть записей пропала, эти строки восстановил из бэкапа.
Скорее всего, сдампить данные, которые не попали в данную страницу поможет zero_damaged_pages (boolean)
Естественно, перед всем этим, необходимо сделать бэкап того, что осталось от бд.


AbiGeuS
14.07.2016
18:33:26
У меня была подобная ситуация. Данные восстановил частично, кроме участков с битой страницей.
Делал дамп битой таблицы, с ограничением по ид, часть записей пропала, эти строки восстановил из бэкапа.
Скорее всего, сдампить данные, которые не попали в данную страницу поможет zero_damaged_pages (boolean)
Естественно, перед всем этим, необходимо сделать бэкап того, что осталось от бд.
у меня вообще не хотел дампить, к сожалению. Не разобрались из-за чего авария произошла? Как хоть от этого спасаться в будующем.

Dmitriy
14.07.2016
18:36:07

Google

Juriy
14.07.2016
18:37:41
для сохранности данных помогает кластер с чексуммами.

AbiGeuS
14.07.2016
18:38:23
Пришёл oom и гнусно потрогал постгрес.
У нас точно такой проблемы не было. Вообще все стандартно работало. Люди с утреца начали работу в штатном режиме, а далее - все, приплыли.. Каких-либо специфичных ошибок в логах не нашел. Только уже на моментах конкретных запросов к битой таблице.

Dmitriy
14.07.2016
18:39:35

AbiGeuS
14.07.2016
18:41:35
Я доступа к esxi не имею. Другой человек этим занимается. Но насколько я знаю подобных работ не должно было проводиться. Делали клон виртуалки - это да, снапшоты, тоже да. Но саму виртуалку никуда не дергали.
Клон тоже делали не сегодня. Сомневаюсь что это должно было сказаться.

Nikita
14.07.2016
20:41:48
всем привет:) а здесь могут помочь с постгре?)

Admin
ERROR: S client not available

Alexey
14.07.2016
20:43:45
С постгре не очень. С постгресом могут, с постгрескюэлем тоже, а с постгре - сложно :)

Nikita
14.07.2016
20:44:00
ну вот:(
ну если вдруг кто-нибудь зачитает:) история простая, есть федора24 и соответсвенно postgresql 9.5.3. Если в конфиге поставить listen_addresses = 'ipPC', и перезапустить компьютер, то служба не стартует, если поставить * то всё ок
:)просто может кто сталкивался;)
судя по логам, он пытается стартануть службу ещё до того как получил адрес по dhcp
:)это норма?
или у меня руки не от туда)) растут просто

Alexey
14.07.2016
20:46:26
А что именно в логах говорится?
Так-то можно сделать echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind, и в sysctl.conf прописать, чтобы можно было на любом IP слушать, даже если его нет ещё.

Nikita
14.07.2016
20:47:16
Jul 14 23:18:24 localhost.localdomain postgresql-ctl[960]: LOG: could not bind IPv4 socket: Cannot assign requested address
Jul 14 23:18:24 localhost.localdomain postgresql-ctl[960]: HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
Jul 14 23:18:24 localhost.localdomain postgresql-ctl[960]: WARNING: could not create listen socket for "10.2.0.5"
Jul 14 23:18:24 localhost.localdomain postgresql-ctl[960]: FATAL: could not create any TCP/IP sockets
Jul 14 23:18:25 localhost.localdomain postgresql-ctl[960]: pg_ctl: could not start server
Jul 14 23:18:25 localhost.localdomain postgresql-ctl[960]: Examine the log output.

Alexey
14.07.2016
20:47:16
Или настроить порядок загрузки..
А когда уже адрес есть, работает?

Nikita
14.07.2016
20:47:45
да, если потом ручками рестартануть, всё ок

Google

Nikita
14.07.2016
20:47:57
просто по логам он чуть позже получает адрес 10.2.0.5

Alex
14.07.2016
20:48:08
sleep 10 и ок c стартовый скрипт )

Nikita
14.07.2016
20:48:44
просто на 23 федоре и postgresql 9.4.x какая то всё было ок
а тут...ересь..
а так то...для локальной базы может быть не так и страшно оставить листен адрес в *?
или лучше заморачиваться с задержкой?

Alexey
14.07.2016
20:50:16
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ - вообще вот, надо systemctl конфиги починить

Nikita
14.07.2016
20:52:15
ну так то там еще перед ним стоит супермикро...смотрящая в инет...так что он полностью в лане
просто это же дефолтные конфиги...неужели не дотестировали...не очень хочется просто править эти юниты

Alexey
14.07.2016
20:58:55
Fedora же
Это как раз и есть тестирование:)

Александр
15.07.2016
06:19:12
https://habrahabr.ru/post/305662/

Alex
15.07.2016
07:03:06
А распаралелливание аггрегирования к оконным функциям относится ?

Sergey
15.07.2016
09:50:55
Есть вопрос про статистику. Есть табличка с большим количеством значений. (пара миллионов) Строится выборка по полю OwnerID::character varying(32) = 'какое то значение'. Селективность его достаточно высокая индекс есть. Так вот статистика говорит, что мы выберем 81к строк, выбираем 71к. Ошибка конечно не на порядок, но всеравно довольно большая. Можно ли её уменьшить? default_statistics_target?

Darafei
15.07.2016
09:51:56
а какую проблему это решает?

Vadim
15.07.2016
09:53:53