@pgsql

Страница 181 из 1062
Петр
06.12.2016
16:05:46
покажи

теперь создавай свои индексы

blkmrkt
06.12.2016
16:07:10
странно то как, они ведь уже zeroed out. я 2 раза прогонял VACUUM

ворнинги на те же пейджи кидает

Google
Pavel
06.12.2016
16:08:11
можно попробовать SET zero_damaged_pages = on; затем VACUUM FULL, но есть риск потерять данные

blkmrkt
06.12.2016
16:08:27
можно попробовать SET zero_damaged_pages = on; затем VACUUM FULL, но есть риск потерять данные
угу, я так и сделал. Я именно и хочу избавиться от битых записей

Darafei
06.12.2016
16:08:33
или cluster using ...pkey;

blkmrkt
06.12.2016
16:09:05
или cluster using ...pkey;
а если pkey композитный?

Darafei
06.12.2016
16:09:59
он сделает суть сreate table as ( select * from ... order by (index_fields)); с переиндексом всех индексов

Аггей
06.12.2016
16:14:55
CTAS ) У нас один ораклист называет конструкцию - Стасом

blkmrkt
06.12.2016
16:16:29
я pkeys не пересоздавал

Петр
06.12.2016
16:19:49
покажите pg_stat_activity

Darafei
06.12.2016
16:20:19
а select * from comments работает?

а так вот ещё про запас конструкция: with data as ( delete from comments returning * ) insert into comments select * from data;

blkmrkt
06.12.2016
16:21:12
а select * from comments работает?
я начинал дампить, но там попались timestamps out of range, удалить их не могу тк ошибка что attempted to delete invisible tuples

Петр
06.12.2016
16:22:54
у вас похоже битые данные в multixact

blkmrkt
06.12.2016
16:23:32
покажите pg_stat_activity
там кроме меня и моего запроса к pg_stat_activity ничего нет, плюс инактивная попытка создать pkey

Google
blkmrkt
06.12.2016
16:31:02
блин, боюсь представить что же будет с таблицей profiles, там жирные записи, я с пропавшими тостами оттуда в прошлый раз намучался

вот бы такую команду или флаг в конфиге, чтоб "ок, если что-то не читается или сломано, просто удаляем данные"

Darafei
06.12.2016
16:39:04
а оно не удалит все из comments?
удалит и вставит обратно

gis=> create table aaa as (select * from where_people_live ); SELECT 35573 gis=> with data as ( gis(> delete from aaa returning * gis(> ) gis-> insert into aaa gis-> select * from data; INSERT 0 35573 gis=> select count(*) from aaa; count —---— 35573 (1 row)

blkmrkt
06.12.2016
16:39:56
ааа не следует на comments заменить?

Darafei
06.12.2016
16:40:41
ой, поправил

blkmrkt
06.12.2016
16:51:03
gis=> create table aaa as (select * from where_people_live ); SELECT 35573 gis=> with data as ( gis(> delete from aaa returning * gis(> ) gis-> insert into aaa gis-> select * from data; INSERT 0 35573 gis=> select count(*) from aaa; count —---— 35573 (1 row)
сделал: vw=# create table aaa as (select * from comments); server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Failed. в логе сервера вот такое: 2016-12-06 18:50:26 EET [8219-1] postgres@vw WARNING: invalid page in block 92800 of relation base/16385/16443; zeroing out page 2016-12-06 18:50:26 EET [7319-7] LOG: server process (PID 8219) was terminated by signal 11: Segmentation fault 2016-12-06 18:50:26 EET [7319-8] DETAIL: Failed process was running: create table aaa as (select * from comments); 2016-12-06 18:50:26 EET [7319-9] LOG: terminating any other active server processes 2016-12-06 18:50:26 EET [8145-2] WARNING: terminating connection because of crash of another server process

blkmrkt
06.12.2016
16:53:14
Stas
06.12.2016
16:53:35
киньте её мне в tg =)

blkmrkt
06.12.2016
16:53:58
ээ, кого ее?

Danila
06.12.2016
16:54:24
базу на 4тб, очевидно

Петр
06.12.2016
16:54:40
памяти сколько вообще?

blkmrkt
06.12.2016
16:54:47
64гиг ram

Stas
06.12.2016
16:55:20
Segmentation fault — это бага постгреса. ulimit -c unlimited скажет ОС записать образ упавшего процесса

запишет в путь, который указан в sysctl kernel.core_pattern

собсно ваши проблемы в файлах выявили багу в постгресе, Segmentation fault не должно быть.

blkmrkt
06.12.2016
16:57:30
хмм

сейчас дамп найду тогда

Google
Stas
06.12.2016
16:57:39
В core dump можно будет посмотреть трейс и тп

желательно иметь postgres-dev пакет установленный

blkmrkt
06.12.2016
16:58:52
у меня версия 9.5 если что

Stas
06.12.2016
16:59:23
энивэй в стабильной версии такого быть не должно

blkmrkt
06.12.2016
17:02:51
что-то ни в /usr/bin ни в хоум директории postgres не нахожу дампа

Stas
06.12.2016
17:03:45
ulimit надо ставить перед запуском pg и в том же шелле

или системный поставить

в анлим

blkmrkt
06.12.2016
17:03:59
я из-под рута это сделал

и service postgresql restart сделал

щас в core_patterns напишу чтоб в отдельную папку писало

Alex
06.12.2016
17:20:03
Дает ли ускорение не для LIKE, а для обычного = использование gin_trgm_ops ???

Ivan
06.12.2016
17:37:47
@blkmrkt а где начало детектива можно прочитать?

blkmrkt
06.12.2016
17:39:08
@blkmrkt а где начало детектива можно прочитать?
где-то выше в чате писал. Повисла система во время ребилдинга RAID5, я сделал бекап, переустановил ОС, и подменил папку pgdata той которая из бекапа

Sergey
06.12.2016
18:35:22
Приветствую! Товарищи, а подскажите о решениях для реализации HA в PG. Интересует автофейловер, а если быть точнее, то есть необходимость сделать "свой" RDS на инфраструктуре Amazon, упомянутое готовое решение не можем использовать по требованиям и прочей юр. специфике Мне уже подсказали про рекомендации от clusterlabs на базе corosync/pacemaker, я также наткнулся на spilo. Что еще существует на рынке? И пробовал ли кто spilo? Интересуют препрод/прод кейсы.

Sergey
06.12.2016
20:35:44
По идее - да. С другой стороны обеспечить их бесконфликтность надежно нельзя. Те же ORM работают по принципу "есть id у записи или нет". И все равно никто не застрахован, что данные не появятся. Как понимаю, для надежного решения проблемы и был придуман Merge | Upsert. Кстати. оа он дает оверхед? Как скаежм, если я буду делать вставку в транзацкции, и поом ее откатывать? Или там идет проверка раньше?
Конечно бесконфликтность на сто процентов невозможно. Но их нужно свести к минимуму и уже этот минимум обрабатывать как исключительные ситуации. Хотя я в ПГ еще ноль и могу ошибаться, может тут есть какие-то серебряные пули на все случаи жизни, поэтому лучше слушай советы старожилов :)

blkmrkt
07.12.2016
00:38:41
вот стактрейс отваливающегося процесса: Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `postgres: 9.5/main: postgres vw [local] CREATE TABLE AS '. Program terminated with signal SIGSEGV, Segmentation fault. #0 heap_deform_tuple (tuple=tuple@entry=0x7f0d1be29b08, tupleDesc=tupleDesc@entry=0x7f0d1a35abe0, values=values@entry=0x7ffd57a5beb0, isnull=isnull@entry=0x7ffd57a65af0 "\001\001") at /build/postgresql-9.5-8sgxcV/postgresql-9.5-9.5.5/build/../src/backend/access/common/heaptuple.c:1008 1008 /build/postgresql-9.5-8sgxcV/postgresql-9.5-9.5.5/build/../src/backend/access/common/heaptuple.c: No such file or directory.

Я похоже понял: invisible tuples это те туплы, которые не должны быть видимы моей трансакции. Почему же тогда моя квери удаления туплов ругается на то, что я пытаюсь удалить невидимые туплы, если они и так должны находиться во власти другой трансакции? Подозреваю что когда сервер крашнулся, осталась куча таких незакоммиченных данных, тк он вставлял и апсертил десятки тысяч туплов в секунду на тот момент. Как почистить следы незавершенных трансакций на крашенном сервере?

может можно просто заставить pg_dump как-то игнорировать ошибки и нечитаемые записи?

Петр
07.12.2016
11:07:19
может можно просто заставить pg_dump как-то игнорировать ошибки и нечитаемые записи?
пгдампом не получится скорее всего вытащи все живые данные через copy

Google
blkmrkt
07.12.2016
11:08:09
пгдампом не получится скорее всего вытащи все живые данные через copy
а вроде пгдамп внутри использует как раз таки COPY, не?

Yury
07.12.2016
11:11:55
так вроде FULL VACUUM должен это сделать

и там что то с wraparound

heap_deform_tuple — ну да, он пытается tuple разобрать по массивам и обламывавется

Admin
ERROR: S client not available

Yury
07.12.2016
11:14:40
а WALы оно читало когда подымалось из архива?

Дает ли ускорение не для LIKE, а для обычного = использование gin_trgm_ops ???
нет, для просто = есть любой индекс типо btree/brin

Alex
07.12.2016
11:32:56
Denis
07.12.2016
11:55:52
Всем привет, знает как заставить постгрес мержить два запроса за линейное О по индексу, вот пример

sqlite3 такое делает самостоятельно, а вот постгрес сортирует

сумеречные подзапросы помогли, но почему так сложно?

blkmrkt
07.12.2016
12:07:41
а WALы оно читало когда подымалось из архива?
вот не знаю, я просто сделал: apt-get install postgresql-9.5, service postgresql stop, заменил datadir, и postgresql start

Darafei
07.12.2016
14:14:18
Slava
07.12.2016
14:44:20
Народ, сталикивались ли вы с проблемой русских символов при экспорте данных в xml cредствами postgres

везде utf-8 и на клиенте и не сервере

кто-нибудь экспортил записи с русскими символами в xml средствами pg?

отпишитесь

используя xmlelement

Alexandr
07.12.2016
15:40:53
Парни подскажите пожалуйста, сколько может весить логический бэкап, как можно это оценить, например для базы размером 1гб

Alexey
07.12.2016
15:41:17
Гигабайт или меньше.

Google
Аггей
07.12.2016
15:55:55
| xz -9
Читер

Alexey
07.12.2016
15:56:03
а то!

Антон
07.12.2016
15:59:15
ребят, а что в итоге сейчас модно использовать для максимально простого партиционирования?

Alex
07.12.2016
16:06:27
Монгу ? :)

Антон
07.12.2016
16:09:38
в монгочатесказали постгрес!

Darafei
07.12.2016
16:21:13
в этом году модно clickhouse

Антон
07.12.2016
16:23:33
ES?

Аггей
07.12.2016
16:24:33
Там ж не партиции - там ж индексы )

Alexey
07.12.2016
16:32:13
Elasticsearch. Ну там индексы, шарды, вот это всё, оно само работает и разъезжается по серверам.

Evgeniy
07.12.2016
16:40:30
нет, в этом году модно использовать слайсер https://blog.acolyer.org/2016/12/02/slicer-auto-sharding-for-datacenter-applications/

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