Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.08.2018, 18:44
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Добрый день. Есть таблица, из которой не идет выборка: Код: sql 1.
ОШИБКА: invalid memory alloc request size 4294967293 ********** Ошибка ********** ОШИБКА: invalid memory alloc request size 4294967293 SQL-состояние: XX000 При этом VACUUM FULL table выполняется успешно. Настройки памяти сдедующие ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 18:53
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Это выполняется: SELECT * FROM table LIMIT 20000 Этот запрос уже выдает ошибку: SELECT * FROM table LIMIT 20000 Подозреваю что-то с настройками памяти... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 18:54
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
УткъЭто выполняется: SELECT * FROM table LIMIT 20000 Этот запрос уже выдает ошибку: SELECT * FROM table LIMIT 2 0000 Подозреваю что-то с настройками памяти... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 18:54
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Уткъ, 1)покажите структуру таблицы 2)отрабатывает ли select count(*) from table и какой результат дает? 3)есть ли длинные текстовые или бинарные поля в таблице (длиннее 2kb)? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 18:54
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Т.е. так: УткъЭто выполняется: SELECT * FROM table LIMIT 20000 Этот запрос уже выдает ошибку: SELECT * FROM table LIMIT 3 0000 Подозреваю что-то с настройками памяти... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 18:57
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Maxim BogukУткъ, 2)отрабатывает ли select count(*) from table и какой результат дает? Да, в таблице 35 тыс строк Maxim Boguk3)есть ли длинные текстовые или бинарные поля в таблице (длиннее 2kb)? Нет, максимально блинное поле character varying(255), остальные bigint, double precision и timestamp. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 19:19
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
УткъMaxim BogukУткъ, 2)отрабатывает ли select count(*) from table и какой результат дает? Да, в таблице 35 тыс строк Maxim Boguk3)есть ли длинные текстовые или бинарные поля в таблице (длиннее 2kb)? Нет, максимально блинное поле character varying(255), остальные bigint, double precision и timestamp. Если делать select конкретное_поле from table; то ломается всегда? ломается на каком то конкретном поле? не ломается вообще? 4GB памяти запросить такой запрос не должен. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.08.2018, 20:49
|
|||
---|---|---|---|
Забавная ситуация.... XX000 |
|||
#18+
а пусть explain analyze покажет, какой там width и rows ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 10:04
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
полудуха пусть explain analyze покажет, какой там width и rows Код: sql 1. 2. 3.
И тут же: ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 10:16
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Maxim BogukУткъпропущено... Да, в таблице 35 тыс строк пропущено... Нет, максимально блинное поле character varying(255), остальные bigint, double precision и timestamp. Если делать select конкретное_поле from table; то ломается всегда? ломается на каком то конкретном поле? не ломается вообще? 4GB памяти запросить такой запрос не должен. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Методом исключения оказалось что при выборе только одного поля возникает эта ошибка. Поле: Код: sql 1.
Из-за чего такая ошибка? Ведь в таблице есть еще 4 поля с таким же точно типом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 10:25
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
в поле этом в основном значения из двух символов. Код: sql 1.
Вызывает отключения от БД, даже без ошибки XX000 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 10:27
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Уткъв поле этом в основном значения из двух символов. Код: sql 1.
Вызывает отключения от БД, даже без ошибки XX000 И БД падает в режим востановления с ошибкой 0xC0000005 0xC0000005 STATUS_ACCESS_VIOLATION The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 10:38
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 10:43
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
При этом Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
34897 - 6168 = 2872 9 Получается есть какое-то одно значение в таблице, при выборке которого падает весь кластер. Запрос Код: sql 1.
выполняется без ошибок. Код: sql 1.
Приводит к падению кластера. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:03
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
При этом: SELECT code INTO corrupted_table FROM table WHERE code NOT IN ('кг','шт') отрабатывает нормально, но если пытаюсь из другой БД выполенить select q.code INTO corrupted_table from dblink( ' dbname=prod user=postgres password=***'::text, 'SELECT code FROM table WHERE code NOT IN (''кг'',''шт'');'::text) q (code character varying(255)); Выдает ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:05
|
|||
---|---|---|---|
Забавная ситуация.... XX000 |
|||
#18+
Уткъ, я такое видел при сбоящей плашке памяти. Там оказалась повреждена страница в таблице в итоге Посему совет среплицировать базу куда-нибудь в другое место, затем погонять мемтест. Из сбойной таблички вытащить всё что читается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:07
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Сделал: Код: sql 1.
Сейчас работает. Перед этим сохранил проблемную строку в другую таблицу на всякий случай. Попробую ее в другую БД перетащить подменой файлов, для опытов. Вообще с такой ситуацией еще не сталкивался, охото разобраться как подобные строки выявлять, ведь их может быть много ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:09
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
MelkijУткъ, я такое видел при сбоящей плашке памяти. Там оказалась повреждена страница в таблице в итоге Посему совет среплицировать базу куда-нибудь в другое место, затем погонять мемтест. Из сбойной таблички вытащить всё что читается. Был сбой по питанию на сервере. После этого побилась 1 таблица и индекс. Индекс перестроил, таблицу поблочно перетащил в другую, все блоки, которые читались. И среди этих перетащенных блоков оказалась эта срока. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:11
|
|||
---|---|---|---|
Забавная ситуация.... XX000 |
|||
#18+
MelkijУткъ, я такое видел при сбоящей плашке памяти. Там оказалась повреждена страница в таблице в итоге Посему совет среплицировать базу куда-нибудь в другое место, затем погонять мемтест. Из сбойной таблички вытащить всё что читается. сама уникальность случая намекает на сбои в железе ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:15
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
УткъMelkijУткъ, я такое видел при сбоящей плашке памяти. Там оказалась повреждена страница в таблице в итоге Посему совет среплицировать базу куда-нибудь в другое место, затем погонять мемтест. Из сбойной таблички вытащить всё что читается. Был сбой по питанию на сервере. После этого побилась 1 таблица и индекс. Индекс перестроил, таблицу поблочно перетащил в другую, все блоки, которые читались. И среди этих перетащенных блоков оказалась эта срока. Ну так с этого надо было начинать блин. У вас там была побитая на физическом уровне строка которая к этой проблеме и приводила. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:20
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
Maxim BogukУткъпропущено... Был сбой по питанию на сервере. После этого побилась 1 таблица и индекс. Индекс перестроил, таблицу поблочно перетащил в другую, все блоки, которые читались. И среди этих перетащенных блоков оказалась эта срока. Ну так с этого надо было начинать блин. У вас там была побитая на физическом уровне строка которая к этой проблеме и приводила. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru А скажите, как можно подобные строки отслеживать? на эту случайно наткнулся по жалобам пользователей. basebackup отрабатывает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.08.2018, 11:28
|
|||
---|---|---|---|
|
|||
Забавная ситуация.... XX000 |
|||
#18+
УткъMaxim Bogukпропущено... Ну так с этого надо было начинать блин. У вас там была побитая на физическом уровне строка которая к этой проблеме и приводила. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru А скажите, как можно подобные строки отслеживать? на эту случайно наткнулся по жалобам пользователей. basebackup отрабатывает нормально. Никак. После физического сбоя диска или файловой системы - сервер наливается с нуля с base backup + wal archive Или переключается на реплику именно ПОТОМУ ЧТО ПОНЯТЬ (или предсказать) что еще и где и как побилось - возможности нет. PS: если вы делаете кластер с нуля - может помочь включение initdb -k, --data-checksums use data page checksums у всего кластера (на живом сервере это уже нельзя сделать) в таком варианте битые страницы будут проверяться при чтении с дика на совпадение checksum (а base backup в 11 версии тоже будет их проверять "Allow heap pages checksums to be checked during streaming base backup (Michael Banck)"). Но это не панацея. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/moderation_log.php?user_name=ChameLe0n]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
121ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 726ms |
total: | 970ms |
0 / 0 |