pg사설 토토는 다음을 위한 Tcl 패키지입니다. 인터페이스할 클라이언트 프로그램포스트그레SQL서버. 그것은 대부분의 기능libpq사설 토토 스크립트에 사용 가능합니다.
이 패키지는 원래 Jolly Chen이 작성했습니다.
표 3-1에서 사용할 수 있는 명령에 대한 개요를 제공합니다.pg사설 토토. 이러한 명령이 설명되어 있습니다. 다음 페이지에서 더 자세히 설명합니다.
표 3-1.pg사설 토토명령
| 명령 | 설명 |
|---|---|
pg_connect |
백엔드 서버에 대한 연결을 엽니다. |
pg_disconnect |
연결을 닫습니다 |
pg_conndefaults |
연결 옵션 및 기본값 가져오기 |
pg_exec |
백엔드에 쿼리 보내기 |
pg_result |
쿼리 결과 조작 |
pg_select |
SELECT 문의 결과 루프 |
pg_execute |
쿼리를 보내고 선택적으로 결과 |
pg_listen |
NOTIFY 메시지에 대한 콜백 설정 |
pg_on_connection_loss |
예기치 않은 연결에 대한 콜백 설정 손실 |
pg_lo_creat |
대형 개체 생성 |
pg_lo_open |
큰 개체 열기 |
pg_lo_close |
대형 개체 닫기 |
pg_lo_read |
대형 개체 읽기 |
pg_lo_write |
대형 개체 쓰기 |
pg_lo_lseek |
큰 물체의 위치를 탐색 |
pg_lo_tell |
대규모의 현재 탐색 위치를 반환합니다. 개체 |
pg_lo_unlink |
대형 개체 삭제 |
pg_lo_import |
Unix 파일을 대형 객체로 가져오기 |
pg_lo_export |
대형 개체를 Unix 파일로 내보내기 |
그pg_lo_*루틴은
대형 객체 기능에 대한 인터페이스포스트그레SQL. 기능은 다음과 같이 설계되었습니다.
표준 Unix의 유사한 파일 시스템 기능을 모방합니다.
파일 시스템 인터페이스.pg_lo_*루틴은 a 내에서 사용되어야 합니다.시작/커밋다음에 의해 반환된 파일 설명자로 인해 트랜잭션이 차단되었습니다.pg_lo_open다음에만 유효합니다.
현재 거래입니다.pg_lo_import그리고pg_lo_export 반드시다음에서 사용됩니다시작/커밋거래 차단.
예 3-1다음을 보여줍니다 루틴을 사용하는 방법에 대한 작은 예입니다.
예 3-1.pg사설 토토예제 프로그램
# getDBs:
# 주어진 호스트와 포트 번호에 있는 모든 데이터베이스의 이름을 가져옵니다.
# 기본값은 localhost 및 포트 5432입니다.
# 알파벳순으로 반환
proc getDBs 호스트 "localhost" 포트 "5432"
# datnames는 결과가 될 목록입니다.
conn 설정 [pg_connect template1 -host $host -port $port]
set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname"]
ntups 설정 [pg_result $res -numTuples]
for set i 0 $i < $ntups incr i
랩펜드 데이터 이름 [pg_result $res -getTuple $i]
pg_result $res -클리어
pg_disconnect $콘
$datnames 반환