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 9472 게시물 읽기
No. 9472
libpq 를 통한 커서 Open
작성자
김성은(x86ddk)
작성일
2014-10-06 14:15ⓒ
2014-10-06 14:16ⓜ
조회수
10,914

안녕하세요 pgsql 관련 몇가지 질문을 드립니다. 

 클라이언트 프로그래밍 인터페이스 libpq 를 통해 prepare / excute 구문과 커서를 테스트해 보고 있습니다.

그런데... 커서(용어상으로 portal이라고 하는 것 같습니다.)를 테스트해 보려고 하는데... 

libpq 상에선 PQprepare / PQexecprepared API를 통해 prepare/execute 구문이 잘 구동되는 것을 확인하였고... 

커서를 테스트하려고 보니...  관련한 별도 옵션(인자)이나 함수가 없었습니다. 날쿼리로 포털을 선언하고 PQexec 하는 방법 외에는 찾을 수가 없더군요...

mysql 같은경우 mysql api를 통해 커서옵션 주고 prepare/execute 로 fetch 하는 방식이 가능 했었습니다만....pgsql PQprepare 에서 특별히 그런 방식이 없는듯 합니다.(이 부분이 맞는지 아직 확신이 안듭니다)

그런데... SPI_cursor_open 과 같은 SPI 라는 것을 알게 되어 확인해 보니... SPI_connect 부터 이해가 안되더군요...초기에 DB 접속자체가 없더군요...

제가 드리고자 하는 질문은... 

원격호스트에서 SPI 를 사용하여 DB에 접속하고 커서를 오픈하고 페치하는게 가능한지...가능하다면 어떤 방식으로 하는 것인지 궁금합니다.

아니면 libpq 상에서 포털(커서)을 프로그래밍하는 방식이 어떤것인지 궁금합니다.(날쿼리 방식으로만 가능한 것인지)

긴 글 읽어주셔서 고맙습니다.

 

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

 libpq에서 커서는

http://postgresql.kr/docs/current/libpq-example.html

문서에 있는 것 처럼 그냥 PQexec로 서버 측 커서를 사용하는 것 뿐입니다. 

jdbc 처럼 데이터베이스 연결 속성으로 서버 커서를 사용하거나, 클라이언트 커서를 사용하거나 

하는 방식으로 구현하려면, libpq의 랩퍼를 독자적으로 만들어야 합니다. 

 

SPI 는 내장 프로시져 인터페이스입니다. 즉, 서버 프로그램 - 데이터베이스 함수, 확장 모듈, 백그라운드 프로세스 이런 것 만들 때 사용하는 것입니다. 

 

김상기(ioseph)님이 2014-10-07 10:37에 작성한 댓글입니다.

 답변 감사드립니다. 많은 도움이 되었습니다.

나름 pgsql 소스 코드를 분석해 보았는데... PQexecprepared 내부에서 포털 자체를 구현하지 않고 있더군요...

프로토콜 상에선 포털(커서)에 대한 내용이 있는데... 이게 구현이 안되어 있어서 좀 황당하더군요...이유를 모르겠네요...

jdbc 드라이버에서는 이게 구현되어 있는 지 다시 확인해 봐야 겠는데... 이클립스 부터 깔아야 할 듯 하네요...

고맙습니다.

김성은(x86ddk)님이 2014-10-07 13:09에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
947730분 단위로 데이터 가져오기 [3]
초보자
2014-10-28
12134
9474libpq 바이너리 데이터 PQexecPrepared 하는 방법 관련 [1]
김성은
2014-10-21
10761
9473pg_dump -T 옵션 다중 입력 [1]
주은철
2014-10-20
10492
9472libpq 를 통한 커서 Open [2]
김성은
2014-10-06
10914
9471시스템테이블 접근권한에 대해서 문의 드립니다. [1]
이호승
2014-10-02
11232
9470postgresql.conf 파일 튜닝하고 있는 초보입니다. [2]
권순찬
2014-09-25
11691
9469database 파일만으로 다른 windows os 에 모든data 구동 [1]
장문재
2014-09-18
10932
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다