@pgsql

Страница 97 из 1062
Alexey
21.09.2016
14:17:21
Alex
21.09.2016
14:19:34
тут как-то уже кажется эту тему поднимали, но не помню чем закончилось... есть самоподписанные сертификаты, приложение идет напрямую в постгрес, но по каким-то причинам ЧАСТЬ коннектов отваливаются с SSL error: certificate verify failed ... кто-нибудь может подсказать куда копать ?

Darafei
21.09.2016
14:20:15
часы синканы?

Google
Alex
21.09.2016
14:26:18
часы да синканы, одна машина

на счет верификации попробую...

Andrey
21.09.2016
14:26:35
В dsn строке есть возможность написать: sslmode=disable

Alex
21.09.2016
14:28:08
невариант

Mike Chuguniy
21.09.2016
15:06:27
сделайте самоподписанный CA. Других вариантов нет
Не прокатывает в большинстве (по слухам, у меня всегда не прокатывало) случаев. Не хочЮт клиенты работать с самоподписанными CA.

Paul
21.09.2016
15:07:13
либо они будут работать через самоподписанный CA, либо пусть строят валидеый CA, либо отключайте верификацию сертов вообще

Alex
21.09.2016
15:08:38
Это и есть самоподписанный CA

Все работает отлично, глаз замылился не заметил что указал балансер вместо коннекта к pg

blkmrkt
22.09.2016
06:10:23
Кто-нибудь AWS Glacier для бекапов использует? Там правда такая дикая цена за ретрив данных - например $6000 за 3ТБ? В то же время класть на хранение 3ТБ каждый месяц стоит всего $21

Alexander
22.09.2016
06:44:09
Страховка наоборот: платишь ежемесячные взносы, а при наступлении страхового случая платишь ещё больше...

Google
Fike
22.09.2016
06:46:37
я там не нашел цен в 2$ за гб

AbiGeuS
22.09.2016
11:14:55
Добрый день. Использую PostgreSQL 9.4.9 1C сборка от postgrespro. На эту версию перешли относительно недавно, до этого был 9.3.4 1C. Довольно часто ловлю такие вот ошибки index "pg_depend_reference_index" contains unexpected zero page at block 191. Statement: create temporary table tt1... Информационная база - зарплата и управление персоналом. Ошибка возникает почти при аналогичных условиях: База работает, затем ночью в 4:00 происходит остановка сервиса 1с (чтобы отключить клиентов от базы), создание дампа, полученный дамп восстанавливается в тестовую базу, 1с поднимается. Далее в 5:30 1с останавливается, останавливается postgresql, файлы пришедшие через arhive_command на внешнее хранилище архивируются, старые подчиющаются, поднимается postgresql, выполняется basebackup, поднимается сервис 1с (да, я понимаю что процесс может выглядеть сложным и не правильным, что можно сделать без остановок, но пока вот так). Далее начинается проблема описанная выше. Возникает не каждый раз и не каждый день, но уже с регулярностью. Кто-то сталкивался с подобной проблемой? Куда копать? Почему postgres начинает сыпаться? Может проблема в online_analyze проходящего с патчем 1с? Его настройки выставлены по умолчанию. Данные о системе - Centos 7.2, lvm + xfs. Все это крутится в виртуальной машине на esxi.

Dmitry
22.09.2016
11:31:27
есть группа https://telegram.me/PosstgreSQL_1C_Linux

Andrey
22.09.2016
11:33:24
dump-restore пробовали?

Dmitry
22.09.2016
11:33:29
а так, проблемы у вас возникают с версией pg, который вы сняли через basebackup?

или проблемы с рабочей версией? (тогда не понимаю зачем весь этот длинный опус про бакапы)

AbiGeuS
22.09.2016
11:42:38
С рабочей версией. Весь длинный опус чтобы объяснить что делаю перед тем как возникает проблема. Ибо проблема возникает после остановки/запуска сервиса постгрес

В группе 1с+постгрес я уже пообщался с людьми. Сюда пришел за свежими мыслями :)

Mike Chuguniy
22.09.2016
11:46:11
Что значит: "старые данные подчищаются"?

Dmitry
22.09.2016
11:47:19
> index "pg_depend_reference_index" contains unexpected zero page at block 191 ну как бы только востаналиваться из бакапа пробовали?

или после востановления из бакапа возникает ошибка?

fsync=off? :)

AbiGeuS
22.09.2016
11:50:56
> index "pg_depend_reference_index" contains unexpected zero page at block 191 ну как бы только востаналиваться из бакапа пробовали?
Реиндекс по pg_depend решает проблему на несколько дней. Потом повторения.

fsync=off? :)
On. Full_page_writes on etc. Все включено

Что значит: "старые данные подчищаются"?
Старые wal архивы с внешнего хранилища

Dmitry
22.09.2016
11:52:21
если вы уже получили покоррапченные данные - то первым делом надо не реиндекс делать, а востанавливаться из бакапа.

AbiGeuS
22.09.2016
11:54:49
Ну во-первых первых сам постгрес хинтует об реиндексе, во вторых поднимал базу из дампа и проблема все равно проявлялась вновь.

Google
AbiGeuS
22.09.2016
11:56:01
Через какое-то время после ночных остановок/подъема

Dmitry
22.09.2016
11:56:46
востанавливайтесь из бакапа. поверьте, проверить испорчены ваши данные или нет на текущий момент нельзя

так что у вас выпал счастливый билет и вам говориться о том, что данные раздолбаны

востаналивайтесь из бакапа. хинт про реиндкс написал разраб, которому насрать на ваши данные.

>вторых поднимал базу из дампа и проблема все равно проявлялась вновь. это другое дело

из логического дампа надеюсь?

Mike Chuguniy
22.09.2016
11:59:07
>вторых поднимал базу из дампа и проблема все равно проявлялась вновь. это другое дело
данные поломались настолько давно, что уже во всех бекапах - битые.

AbiGeuS
22.09.2016
12:00:35
из логического дампа надеюсь?
Из логического. Он снимается каждую ночь.

Dmitry
22.09.2016
12:01:35
инстанс переинициализировали?

или дамп лили в старый инстанс?

AbiGeuS
22.09.2016
12:04:55
В старый. Но ошибки не на общих системных таблицах. Вообще подобные сбои начали появляться после перехода на новую версию постгреса через pgdump_all и соответственно через инициализации нового кластера. Кластер с чексуммами.

Maxim
22.09.2016
12:08:12
> после перехода на новую версию постгреса через pgdump_all чего только не придумают, чтобы pg_upgrade не юзать... :(

Maxim
22.09.2016
12:15:26
AbiGeuS
22.09.2016
12:19:03
таки переливать надо в новый :(
Чем это обоснованно? Ошибка в индексе не системной таблицы. Pgdump работает а учитывая чексуммы мы должны при этом получить гарантию что с данными при этом ок. Или я что-то не так понимаю?

Dmitry
22.09.2016
12:19:31
обосновано тем, что данным доверять уже нельзя

чексуммы говорят что 8k блок - ок

но нигде не хранится информации о том, сколько таких блоков в таблице

Google
AbiGeuS
22.09.2016
12:20:49
И да, индекс в постгрессе же отдельная структура и не трогать данные. Каким образом реиндекс может убить данные в основном отношении?

Dmitry
22.09.2016
12:21:58
я не буду вас уговаривать. ок. просто у вас сломался файл и вы дико верите что только он один. ок

Антон
22.09.2016
12:22:28
всем привет

наткнулся на непонятный косяк

может кто сталкивался

AbiGeuS
22.09.2016
12:22:42
но нигде не хранится информации о том, сколько таких блоков в таблице
Но когда мы делаем дамп мы считаем все страницы с диска, т.е. для каждой страницы мы гарантируем что она ок. Я как то слабо верю в коллизию при этом которая не ломает еще и структуру.

Антон
22.09.2016
12:22:51
неправильные данные toast_bytes

Admin
ERROR: S client not available

Dmitry
22.09.2016
12:23:20
а не сексканом

Антон
22.09.2016
12:23:21
у меня таблицы точно большие, но показывает что там дофига тоста и почти нет данных

AbiGeuS
22.09.2016
12:24:03
я не буду вас уговаривать. ок. просто у вас сломался файл и вы дико верите что только он один. ок
Без обид, но я пытаюсь понять как это реально работает. Ведь есть гарантии чексум и они делались для того чтобы представить гарантии. Я не прав в этом?

Dmitry
22.09.2016
12:24:27
чексуммы вам гарантируют что конкретно прочитанный вами блок - валиден

ничего больше, проведите эксперимент - pgbench

потом остановите pg и сделайте > path/to/oid

после старта таблица будет пустая, и валидная

не смотря на включенные чексуммы

AbiGeuS
22.09.2016
12:28:32
не смотря на включенные чексуммы
Но в вашем случае мы просто затрем файл, не оставим данных и следственно и информации чексум в ней. Структура при этом будет в другом месте. Потому мы типа считаем что таблица аля транкейтнута и все.

Dmitry
22.09.2016
12:28:49
если вы можете провалидировать данные простым сексканом, то в случае когда в toast хранится часть ваших данных, поиск в toast будет проводиться по index

AbiGeuS
22.09.2016
12:28:58
Это не случай когда мы меняем пару бит

Google
Dmitry
22.09.2016
12:29:17
это более частый use-case, когда файлы транкейтяться в случае потери питания

AbiGeuS
22.09.2016
12:30:29
Но при этом мы просто теряем все данные. А не часть или получаем невалидные данные.

Dmitry
22.09.2016
12:31:12
вот у вас есть relation: 1111 1111.1 1111.2 1111.3 «« транктейнула fs 1111.4 у вас транкейтнулся 3, как только pg получит EOF, он завешит seqscan и данные с точки зрения чексум будут валидны

AbiGeuS
22.09.2016
12:31:26
Пользователи в системах типа 1с где все на всем завязано увидели бы потерю большого блока данных и потерю всяких там ссылок

Dmitry
22.09.2016
12:31:54
да-да, пользователи заметят. ок.

AbiGeuS
22.09.2016
12:33:51
Причем смотрите, если бы были транкейтнуты вообще общие системные таблицы мы бы вообще нормально с каждой базой работать не смогли. Смысл тогда перезаливать кластер? Базу в которой произошел какой-то сбой - еще можно понять.

Dmitry
22.09.2016
12:35:55
ок!

если проблемы будут продолжаться - можете обратиться к нам, в PgPro, у нас есть утилита, что проверяет консистентность инстанса. к тому же мы работаем над checksum'ами у clog (в ванильном pg этого нет, к вопросу о включенных чексуммах)

Dmitry
22.09.2016
12:39:57
будет в опенсорсе :)

Paul
22.09.2016
12:40:08
у mysql была похожая, но страшная, как смерть. В свое время она меня спасла

Dmitry
22.09.2016
12:40:09
но в ядре pg много не хватает

но мы оставляем ее работоспособная с ваниллой, на сколько это можно.

Dmitry
22.09.2016
12:46:44
я просто помню свою историю про битый блок, который путешествовал в бакапах полгода :)

AbiGeuS
22.09.2016
12:49:15
Меня еще интересует корень этого случая. Из-за чего вообще это высплывает. И почему рецидивится.

Dmitry
22.09.2016
12:49:57
я уверен что корень этой проблемы - хардварная/виртулизации

AbiGeuS
22.09.2016
12:51:09
Т.е. виртуализация для постгреса зло?

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