같은 사용자 이름으로 한 디비에 여러 개를 접속해서 사용하고 있습니다.
같은 이름으로 접속은 하지만 따로 한 테이블을 만들어서 그곳에서 각각의 접속 사용자
구분하고 관리합니다.
한 클라이언트에서 중간에 끊기면 그 사실을 사용자 구분 테이블에 자동으로 넣어 처리를
하려고 하는데 실시간으로 감지할 수 있는지요?
client_port는 서로 구분이 가능하던데요
방법은 두가지일터인데요, 하나는 그 클라이언트가 "나 끊긴다"고 알려주어서 처리하는 방법이고, 다른 하나는 서버가 모든 클라이언트를 감시해서, 끊겼으면 로그를 남기를 방법이겠죠. 후자 쪽이 가능하게 할 방법은 db 차원에서는 pg_stat_activity 뷰를 이용하는 방법과, os 차원에서는 netstat 명령을 이용하는 방법이 있겠죠. 비용은 둘다 거기서 거기일 것 같습니다. 작업하기 편한 것으로 선택하면 될 듯합니다. 문제는 서버쪽 감시 프로그램의 피할 수 없는 단점은 잘 알다시피 모든 클라이언트를 주기적으로 감시해야합니다. 클라이언트가 많아지면 많아질 수록 그 비용은 무시 못하게 되지요. 그래서, 이런 문제는 대부분 DB 서버 - 미들웨어 - 클라이언트 이런 형태로, 그런 로그 처리와 DB서버의 병목현상을 줄이기 위해서, 그 일들을 미들웨어가 담당합니다. 미들웨어를 어떻게 만드느냐는 알아서 하세요.