설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 187건, 최근 0 건
   

세션 정보 API

글쓴이 : 고은진 날짜 : 2016-10-19 (수) 13:54 조회 : 4783
현재 접속한 세션의 정보(db user, ip 등..)를 알 수 있는 API가 있나요?
아무리 찾아도 못찾겠어요 ㅠㅠ

PostgresDBA 2016-10-19 (수) 17:43
srlect *from pg_stat_activity
댓글주소
     
     
고은진 2016-10-19 (수) 18:22
sql 문 말고 C 에서 쓸 수 있는 API는 없나요?
댓글주소
PostgresDBA 2016-10-20 (목) 09:30
http://www.hungryhacker.com/code/postgresql-libpq-programming-example/

c 에서 sql 을 불러다 씁니다. 위 링크 예제보세요.
댓글주소
     
     
고은진 2016-10-21 (금) 16:24
제가 질문을 정확히 하지 않았네요 ;; User Define Function에서 C 함수를 호출하고 C 함수 안에서 DB에 connect를 하지 않고 현재 연결된 자신의 session정보를 알아오는 방법을 찾고 있었거든요. connect 하는 user 가 그때 그때 변경되서 하드코딩을 피하고 싶었어요.  현재는 해결했어요  감사합니다.~
댓글주소
          
          
PostgresDBA 2016-10-23 (일) 00:06
어떻게 해결했는지 적어주시면 다른분들한테도 많은 도움이 되겠네요.
댓글주소
               
               
고은진 2016-10-24 (월) 10:10
postgresql의 source를 찾아보니
seesion_user 함수의 내부가 있더라고요
그대로 가져왔어요~
댓글주소
고은진 2016-10-24 (월) 10:09
현재 접속한 세션의 session_user를 알 수 있습니다.


extern Oid GetSessionUserId(void);
extern char *GetUserNameFromId(Oid roleid, bool noerr);

char    *user_name;
user_name =  GetUserNameFromId(GetSessionUserId(), false);
댓글주소
     
     
PostgresDBA 2016-10-24 (월) 13:31
^^ 최고십니다.
댓글주소
   

postgresdba.com