2010-09-01 3 views
48

위험이 있습니까 /etc/init.d/postgresql restart ?? 우리는 방금 어떤 관계가 "사라진"사건을 겪었고 나는 그 명령을 실행했습니다. 그냥 sysadmin에 의해 bollocked,하지만 그는 왜 이것이 나쁜 일을 정당화하지 않았다. 나는 웹 애플리케이션을 유지 보수 모드로 두었으므로 당시에는 트랜잭션/쿼리가 없었습니다.포스트 그레스를 다시 시작


고마워요 ... 그래서 짧은 데는 피해가 없지만 많은 가치있는 진단 정보를 얻을 수 있습니다.

+1

"그는 정당하지 않다"는 뜻입니까? – JanC

+15

작은 메모. 대부분의 시스템에서 명령은 /etc/init.d/postgresql restart – keithhackbarth

답변

45

아니요, init.d 메소드를 사용하여 포스트그레스를 다시 시작할 위험이 없습니다.

그러나 이상한 일이 발생했을 때 다시 시작하는 것은 좋은 생각이 아닙니다. 근본 원인을 찾기 위해 수집 할 수있는 정보의 양을 심각하게 제한하고이를 해결할 수있는 기회를 제한하기 때문입니다.

또한 postgresql에 관련된 모든 해에 "재시작"문제가 발생하지 않았습니다. 즉각적인 '사건'은 해결 될 수 있지만 문제가있는 경우 문제가 계속 발생합니다.

+1

입니다. 경로 문제를 해결할 수는 없지만 sysadmin을 사용할 수 없다는 것을 알고 클라이언트가 사이트를 백업하기를 원했습니다. – Simon

+2

다음에 데이터를 수집하고 고객이 전화하기 전에 문제를 해결할 시간이 많아지기 때문에 오류 상태가 다시 나타나는지 정기적으로 확인하는 스크립트를 작성하거나 스크립트를 작성할 수 있습니다. –

3

관계가 다시 시작되어 사라지지 않기 때문에 실행중인 트랜잭션이 느슨해 질 수도 있지만 그게 전부입니다. PostgreSQL은 재시작 할 때 데이터베이스를 파괴하지 않으므로 걱정하지 마십시오.

5

Postgres를 다시 시작할 때 관계가 사라지는 유일한 방법은 임시 테이블이거나 열린 트랜잭션 내에서 만들어진 관계 일 것입니다. db가 다시 시작되면 모든 연결이 닫히고 모든 임시 테이블이 삭제되고 열린 트랜잭션이 롤백됩니다. 그러나 다시 시작하면 커밋 된 모든 것이 안전합니다.

관련 문제