여기서 도움만 받는 것 같아 죄송합니다. 저도 언젠가는 사람들에게 도움을 줄 수 있는 날이 오겠죠..!!!
DB에 똑같은 문제가 이번주에만 두번째입니다. 첫번째는 그냥 복구했지만 이번에도 복구는 가능하지만 이유를 알고 싶어 글을 올립니다. 예전에 모든 DB가 날아간 이후 메일메일 백업을 받는 것이 다행이군요...
1. 우선 서버에 여러 개의 DB가 있고 DB 각각에는 여려개의 Table들이 있습니다.
문제가 겉으로 드러나 보이기엔 DB중 여러개의 Table 중에서 하나의 Table만 문제를 일으키고 있습니다. 아래의 메시지는 board라는 DB에 boardn의 Table이 문제를 일으켰을 때 나타난 메시지를 옮겨 적은 것입니다.
pg_dump /o board > board.out
(board DB를 백업받기 위해 실행하는 명령, 아래의 메시지는 나타난 에러 메시지)
pgWait() / connection not open.
PQendcopy : resetting connection.
SQL query to dump the contents of Table 'boardn' did not execute correctly. After we read all the table contents from the backend, PQendcopy() failed.
Explanation from backend:''
The query was : 'COPY "boardn" WITH OIDS TO stdout;'
그래서 psql로 board DB에 연결한후 나타난 과정.
board=> select * from boardn;
Backend message type 0x44 arrived while idle.
Backend message type 0x44 arrived while idle. (같은 두 줄의 메시지)
We have lost the connection to the backend, so further processing is impossible. Terminating.
왜 이런 문제가 생기는 걸까요...?
2. 또, 하나 물어볼께요? PostgresSQL이 몇 달 돌고 나면 pg_log 파일의 사이즈가 굉장히 증가하는데 이 것을 깨끗히 clear 시키는 방법은 없나요..? 메뉴얼을 찾아보아도 이 부분의 내용은 잘 보이질 않더군요..? 시험으로 그냥 지우고 파일을 같은 속성으로 새로이 생성시켰더니 DB의 모든 내용이 날아가더군요...?
내용이 너무 길지만 답변 부탁드립니다.
이봉우 (levine91@nownuri.net)
|