@pgsql

Страница 192 из 1062
blkmrkt
14.12.2016
19:30:51
там после номера страницы за запятой идет еще цифра

Петр
14.12.2016
19:31:25
Ну тысяча твоих строк вряд ли поместятся в страницу

blkmrkt
14.12.2016
19:31:44
ааа, цифра это номер строки просто?

Петр
14.12.2016
19:32:27
На сколько помню, это версия

Google
blkmrkt
14.12.2016
19:32:45
select ctid, * from comments where ctid = '(92804,51)'; вот это максимальная строка которую вручную подобрал, она читается

а как селектнуть все записи из страницы?

Петр
14.12.2016
19:33:04
Надо доку читать, не хочу наврать, но если ты в страницу только записывал, то с большой вероятностью там строки

dd сколько в среднем строк показывало? Вот проверь чуть больше

blkmrkt
14.12.2016
19:41:21
вот такую квери запустил: select ctid, * from comments where (ctid::text::point)[0]::bigint = 92804;

оно видимо полным перебором идет

Петр
14.12.2016
19:48:00
Когда получишь результат и 92804 окажется исправной, проверь чисткой 92805 испортит это 92804 или нет. А то по последовательности твоих чисток складывается ощущение, что там еще предыдущая страница захватывается

Петр
14.12.2016
19:49:53
Посмотри dd, сравни до и после чистки предыдущей

Может там чуток конец затирается, придется сдвинуть затирку

blkmrkt
14.12.2016
19:50:30
я последнюю чистку такой командой делал: dd if=/dev/zero of=/var/lib/postgresql/9.5/main/base/16385/16443 bs=8192 seek=92806 count=1 conv=notrunc

Петр
14.12.2016
19:51:41
Затри 92805 только сперва сохрани 92804

Google
blkmrkt
14.12.2016
19:51:53
а ок

а это норма что у меня файл 16443 состоит из 111 частей сорта 16443.1 16443.2 ...?

Петр
14.12.2016
19:54:35
У нас и из тысяч есть

blkmrkt
14.12.2016
19:55:06
только почему-то мы теребим с dd основной файл, а не его куски

Darafei
14.12.2016
19:55:15
это всё один файл

blkmrkt
14.12.2016
19:55:21
это фишка линукса?

Петр
14.12.2016
19:55:39
Потому что страница у тебя из первого файла

Darafei
14.12.2016
19:55:47
он просто порезан на кусочки, чтобы fat32 и другие файловые системы могли с ним работать

это фишка постгреса

Петр
14.12.2016
19:56:00
1гб файл, страницы по 8кб

blkmrkt
14.12.2016
19:56:25
Потому что страница у тебя из первого файла
странно что битые страницы с первого файла начались

Quet
14.12.2016
19:58:49
канал последние пару недель прям иллюстрация пользы бэкапов

Darafei
14.12.2016
19:58:56
возможно, они во всех, просто на первом уже начались :)

Петр
14.12.2016
19:59:30
Обычно не во всех))

blkmrkt
14.12.2016
19:59:57
канал последние пару недель прям иллюстрация пользы бэкапов
не представляю как эти знания передать другим, пока те тоже когда-нибудь не потеряют данные

Петр
14.12.2016
20:01:43
Бэкапить тоже не всегда получается, когда базы очень большие. Приходится другими методами обеспечивать надежность

Ну так как? Затерлась предыдущая страница?

Quet
14.12.2016
20:02:42
это насколько большие?

blkmrkt
14.12.2016
20:02:50
Бэкапить тоже не всегда получается, когда базы очень большие. Приходится другими методами обеспечивать надежность
я после краша загрузил образы каждого диска в google datastore, стоит копейки. а просто дамп в custom format еще меньше должен занимать

Quet
14.12.2016
20:02:54
мне кажется этот случай не такой )

Google
blkmrkt
14.12.2016
20:03:14
Ну так как? Затерлась предыдущая страница?
да я бекап перезаписал тем что затер. ctrl+c ctrl+v с ньюлайном

blkmrkt
14.12.2016
20:03:41
сейчас следующаю попробую

Сколько стоит ПБ? И сколько он туда будет бэкапиться?
ПБ эт что? бекапились образы наверное пару суток, но если разобраться с инкрементальным бекапом, то наверное нормально будет. $72 в мес в nearline за 5ТБ

Петр
14.12.2016
20:05:05
Петабайт

Quet
14.12.2016
20:05:28
если у вас пб база то есть парочка своих датацентров )

куда и бэкапить

blkmrkt
14.12.2016
20:06:04
если у вас пб база то есть парочка своих датацентров )
да уж, если такая база, то только отдельный сервер

таак, вот теперь 92804 не читается. делаю бекап 92803 и обнуляю 92804?

Петр
14.12.2016
20:07:19
Это немного, пара стоек

Ты сохранил до этого 92804?

Ведь до этого он читался у тебя

Петр
14.12.2016
20:08:15
Она испортилась

blkmrkt
14.12.2016
20:08:18
Ты сохранил до этого 92804?
да, но перезаписал

угу

Аггей
14.12.2016
20:08:20
таак, вот теперь 92804 не читается. делаю бекап 92803 и обнуляю 92804?
Видимо смещение - вначале файла служебная инфа?

Петр
14.12.2016
20:08:46
Посмотри теперь чем отличается, на сколько сдвинуть может затирку

Видимо смещение - вначале файла служебная инфа?
Видимо, но у меня такого не было почему то

То ли не помню

blkmrkt
14.12.2016
20:09:20
Посмотри теперь чем отличается, на сколько сдвинуть может затирку
а нет точного способа узнать нужное смещение? это я думаю если утилиту писать, то не помешает знать

Google
Аггей
14.12.2016
20:09:23
Не первый файл был?

blkmrkt
14.12.2016
20:09:35
dd if=/dev/zero of=/var/lib/postgresql/9.5/main/base/16385/16443 bs=8192 seek=92805 count=1 conv=notrunc

Аггей
14.12.2016
20:09:53
У вас то да, а у Петра.

Петр
14.12.2016
20:10:01
Первый

blkmrkt
14.12.2016
20:10:11
dd if=/dev/zero of=/var/lib/postgresql/9.5/main/base/16385/16443 bs=8192 seek=92805 count=1 conv=notrunc
вот эта команда что-то сделала с пейджем 92804

Петр
14.12.2016
20:11:01
Тогда надо разобраться со смещением и вернуть правильный файл и начинать сначала (надеюсь ты сделал копию)

Аггей
14.12.2016
20:11:03
Можно сравнить для 2х разных таблиц первые файлы - на предмет схожести

blkmrkt
14.12.2016
20:11:28
Admin
ERROR: S client not available

Аггей
14.12.2016
20:11:37
Хотя бы первых пару десятков килобайт

Петр
14.12.2016
20:11:49
Я просил тебя сохранить страницу 92804

Аггей
14.12.2016
20:11:52
Петр
14.12.2016
20:12:06
Сравни с тем , что сейчас там

blkmrkt
14.12.2016
20:12:11
Так ты до начала файла 0ми дойдешь
я имею ввиду что восстанавливать то что уже попортил не буду)

Петр
14.12.2016
20:12:20
Возможно конец затёрт нулями

blkmrkt
14.12.2016
20:13:59
но я ж бегаю по файлу и обнуляю его средствами dd seek, он ведь покажет кусок 92804 в с тем же неправильным смещением, если оно неправильно

Петр
14.12.2016
20:15:59
Ты затираешь по 8192, вот сравни их до и после

Ну или попробуй прочитать самое начало файла, посмотри, что там, может будет понятно что к чему Мне лень комп включать, да и с телефона писать не очень

blkmrkt
14.12.2016
20:17:32
a ok

Google
Аггей
14.12.2016
20:19:28
Если допустить, что смещение 8k?

То стирался предыдущий блок

Я для примера поглядел несколько файлов - у всех первые 8к выглядят одинаково

В первом файле

В остальных файлах *.1 *.2 и тп - первый блок различается

Quet
14.12.2016
20:23:41
вы прям как будто какой оракл реверс инженерите есть же исходники

Аггей
14.12.2016
20:24:04
Соответственно первый блок первого файла таблицы под данные не пользуется

Аггей
14.12.2016
20:24:38
На больших проектах - та еще задача

blkmrkt
14.12.2016
20:24:54
я обнулил страницы: 92816 92814 92813 92812 92811 92812 92810 92809 92808 92807 92806 92805 но почему-то 92804 из-за этого захерилась

Quet
14.12.2016
20:25:22
ну без заглядывания в исходники это все выглядит как карго-культ случайным образом делаются случайные действия а данные почему-то не восстанавливаются

blkmrkt
14.12.2016
20:26:06
ну без заглядывания в исходники это все выглядит как карго-культ случайным образом делаются случайные действия а данные почему-то не восстанавливаются
ну у меня данных много и потерять часть допустимо, да и все ближе и ближе к решению проблемы - сдампить то что есть и перезалить все обратно

Петр
14.12.2016
20:26:23
вроде нормально заканчивается а до обнуления есть?

blkmrkt
14.12.2016
20:26:39
вроде нормально заканчивается а до обнуления есть?
неа.. щас со следующей страницей попробую

Quet
14.12.2016
20:28:49
@blkmrkt , напиши хоть блог пост об этом всем чтобы что-то полезное для людей было )

blkmrkt
14.12.2016
20:29:25
@blkmrkt , напиши хоть блог пост об этом всем чтобы что-то полезное для людей было )
http://dba.stackexchange.com/questions/157533/postgresql-delete-from-fails-with-error-attempted-to-delete-invisible-tuple вот тут потом еще одну простынь накатаю

Петр
14.12.2016
20:29:30
попробуй сместить, как Аггей говорит

Quet
14.12.2016
20:30:27
@blkmrkt , ?

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