On 6/16/24 21:27, Pavel Stehule wrote:
> Ahoj
>
> ne 16. 6. 2024 v 21:16 odesílatel Michal Páleník
> <
michal....@freemap.sk <mailto:
michal....@freemap.sk>> napsal:
>
> ahojte, počas updgradu na novšiu verziu pgsql 15->16 som urobil úplne
> školácku chybu a (asi) som na chvíľu zapol PG16 na adresári kde má dáta
> PG15 (a asi tam PG16 čosí prepísal). a teraz sa to PG15 nepáči..
> (a možno som urobil niečo úplne iné, ale toto mi príde
> najpravdepodobnejšie)
>
To nezní pravděpodobně, protože postgres si kontroluje jestli startuje
na datovém adresáři stejné verze, a pokud ne tak se vypne a v žádném
případě nic nepřepisuje. Tudíž i pokud jste během upgradu nastartoval
PG16 na adresáři PG15, tak tenhle následek by to mít nemělo.
Nejlepší by bylo zkusit popsat co jste vlastně udělal, co vlastně
myslíte "upgradem" (jenom balíčky v distribuci, OS, pg_upgrade, něco
jiného?). Takhle akorát spekulujeme, a např. moje fantazie je bujná.
> PG15 sa naštartuje, ale po cca 20 sekundách sa reštartne
> server process (PID 1828570) was terminated by signal 11: Chyba
> segmentácie
> invalid record length at 954/8C0A3778: wanted 24, got 0
>
Zapněte se generování core souborů, vytáhněte z toho backtrace [1], a
uvidíte na čem konkrétně to padá s tím segfaultem. V logu postgresu
nejspíše bude i podrobnější info které konkrétně identifikuje který
proces vlastně padá.
https://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Linux/BSD
> a podobné chyby.
>
> počas toho ako funguje, tak príkazy typu \d+ a pár selectov ide
> normálne.
>
> ale potom sa reštartne (bez ohľadu na to, či dávam príkazy alebo nie)
>
>
> V podstate jedine, co se startuje automaticky, je autovacuum - takze
> bych zacal tim, ze bych vypnul autovacuum.
>
> Pripadne bych se podival, jestli mi tam cron nestartuje nejake skripty.
>
> Postgres po havarii dela recovery, ale asi za to se dostavate.
>
> Nic jineho by se tam automaticky startovat nemelo. Mozna bys mohl zkusit
> nastartovat do single modu
>
> Pak by se ti mohl alespon podarit export dat do csv, pripadne reindex.
>
>
>
>
> do DB teraz nikto nezapisuje, miesta na disku je dosť, CPU voľné, ...
>
>
>
> čo môžem skúsiť povypínať, aby databáza ako tak bežala a zvládol som
> pg_dumpall?
>
>
> tam mohlo dojit ke zmene formatu tabulky, indexu, PB vi. Zkusil bych v
> single modu reindexaci - alespon zjistis na cem ti to spadne, a pak
> pokud to bude mozne, tak poskozene tabulky promazat
>
Nechápu jak by k čemukoliv z toho mohlo dojít prostým startem novějšího
postgresu. To se pustí, zjistí že catversion neodpovídá, a umře aniž by
to cokoliv měnilo.
Můj random tip je spíš že "upgrade" zahrnoval např. upgrade glibc,
včetně locales, a někde se něco změnilo tak že to rozbilo index.
T.