Strona 1 z 1

strumienie ">>" i zapisywanie tekstu do pliku

: 24 października 2010, 21:55
autor: sector
Witam,
mam taki skrypt, który przekierowuje ostatnie linijki logów postgresa do pliku określonego przez użytkownika. W dużym uproszczeniu wygląda to tak:

Kod: Zaznacz cały

tail -f /var/log/postgreSQL-8.4-uft8-dev.log >> /home/sector/log.txt
W zasadzie wszystko pięknie, tylko jest jedno ale. Czasami postgres zapisuje zapytania w dziwny sposób czyli mniej wiece tak:

Kod: Zaznacz cały

select * from tabela where ....
           and .... like ....
Nie jest to chyba zwykły enter bo to w drugiej linijce już nie zapisuje się do pliku i zostaje jedynie pierwsza linijka i kod się urywa. Pierwszy raz spotkałem się z czymś takim. Gdy sprawdzam log postgresa to np. zapytanie ma 3 linijki podczas gdy mój plik log.txt ma jedynie 1.

Czy ktoś z was spotkał się z czymś takim i wie jak to "naprawić" ?

: 25 października 2010, 23:00
autor: Czocher
Może Postgres zapisuje C stringi z EOF na końcu do pliku (choć to pewnie można zaklasyfikować jako błąd tzw. bug). Polecam przebadać bajt po bajcie jak wygląda ta linijka w pliku (np vimem w trybie szesnastkowym albo innym hex-edytorem) i sprawdzić czy tam nie ma EOFa albo coś w tym stylu.