안녕하세요 질문 드립니다.
1. PostgreSQL 소스 상에서 DB에 접속하지 않고 pg_stat_activity에 있는 정보를 가져올 수 있는 함수가 있나요?
2. PostgreSQL은 os user 정보는 저장하지 않나요?
답변 부탁드립니다 감사합니다~!
1. 현재 없습니다. 그것을 Direct Memory Access 를 통한 데이터베이스 모니터링이라고 하는데, 어찌 어찌 하면 가능도 하겠지만, 9.4 버전인가? 그 이후 부터 공유 메모리 사용방식이 바뀌어서 공유 메모리에 있는 각종 서버 정보들은 데이터베이스 접속을 하지 않고는 살펴보기 힘듭니다.
2. 데이터베이스에서 OS 사용자 정보를 넘겨받지 않습니다. 가지고 있는 정보는 pg_stat_activity 에 있는 클라이언트 정보 정도가 전부입니다.
어떤 정보를 원하시는지 모르겠지만
remote ip나 db의 user name 은 libpq-be.h의 Port 라는 구조체를 참조하시면 될 것 같아요.
libpq-be.h 의 Port 구조체에 제가 원하는 정보가 다 들어있습니다.
이 정보를 어떻게 가져올 수 있나요?
Port->remote_ip
이런 식으로 다른 소스 상에서는 사용할 수 없는 건가요?