Go로 PostgreSQL 프록시 만들기 (42) - Query Timeout과 CancelRequest
프록시 레벨 쿼리 타임아웃을 구현한다. time.AfterFunc으로 타이머를 설정하고, 만료 시 CancelRequest 프로토콜을 전송하여 PostgreSQL이 자연스럽게 쿼리를 취소하도록 한다.
프록시 레벨 쿼리 타임아웃을 구현한다. time.AfterFunc으로 타이머를 설정하고, 만료 시 CancelRequest 프로토콜을 전송하여 PostgreSQL이 자연스럽게 쿼리를 취소하도록 한다.
유휴 클라이언트를 자동으로 연결 해제하는 Idle Client Timeout을 구현한다. SetReadDeadline으로 타이머 없이 구현하고, 트랜잭션 중에는 비적용하여 안전성을 확보한다.