database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9748 게시물 읽기
No. 9748
libpq-be.h 의 Port 구조체 정보 가져오기
작성자
궁금궁금
작성일
2016-12-30 16:13
조회수
8,598

 

안녕하십니까 질문드립니다.

 

1. libpq-be.h 의 Port 구조체는 커넥션이 맺어진 후, 채워지게 되나요?

2. 현재 C 라이브러리를 사용하여 외부 함수를 구현하고 있습니다.

    ex) 외부 함수의 예

           postgres > select get_db_name(); 하면

           result > 현재 접속한 db_name 출력 

  이렇게 외부 함수를 개발할 때, Port 구조체의 내부 값들을 어떻게 가져올 수 있을까요?

 

제발 가르쳐 주시면 감사하겠습니다.

 

 

이 글에 대한 댓글이 총 3건 있습니다.

일반적으로 디비에 접속한 현재 세션의 정보는

select * from pg_stat_get_activity(pg_backend_pid());

쿼리문으로 구합니다.

접속한 디비의 서버 정보는

select * from pg_show_all_settings(); 또는

show port; 와 같이 환견 설정 변수 이름을 show 명령어 뒤에 붙혀 개별적인

쿼리문으로 구합니다.

굳이 사용자 정의 함수를 만들어야 할 이유가 없어보이네요.

김상기(ioseph)님이 2017-01-02 10:08에 작성한 댓글입니다.

 외부함수에서 db 정보를 가져와 뭔가 다른 작업을 하시려는 것 같네요.

1.

 구조체에 대한 정보는 PostgreSQL 의 소스 코드를 참고하시면 될것 같아요.

주석으로 설명이 쓰여있습니다.

https://doxygen.postgresql.org/libpq-be_8h_source.html#l00118

 

2. 

extern Port* MyProcPort;

 

Port *port = MyProcPort;

strcpy(dbName, port->database_name); 

 

사용 방법은 이렇게 접근하면 될 것 같습니다.

필요한 헤더파일은 찾아서  include 하시면 되고요

고은진(ojhlovekej)님이 2017-01-02 10:25에 작성한 댓글입니다.
이 댓글은 2017-01-02 10:32에 마지막으로 수정되었습니다.

 

감사합니다~!

많은 도움이 되었습니다~!!!!

궁금궁금님이 2017-01-04 14:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
9751pgpool watchdog을 통한 vip 설정 방법 질문이요! [3]
Dean
2017-01-11
10361
9750Slony-I Replication 참고자료 [1]
사랑
2017-01-10
7522
9749PostgreSQL 인스턴스 명 [1]
고래
2017-01-04
8309
9748libpq-be.h 의 Port 구조체 정보 가져오기 [3]
궁금궁금
2016-12-30
8598
9747Postgresql C 라이브러리 [3]
궁금궁금
2016-12-23
7657
9746윈도우 환경에서 이중화 방법 [3]
사랑
2016-12-22
9411
9744PostgreSQL JDBC 및 현재 접속한 세션 정보 가져오기 [3]
궁금궁금
2016-12-22
8631
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다