이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

큰 물체 인터페이스

시설Postgres백엔드에서 큰 개체에 액세스 할 수 있도록 제공 응용 프로그램의 일부로 사용자 정의 함수 또는 프론트 엔드 인터페이스를 사용하여 아래에 설명되어 있습니다. (친숙한 사용자의 경우Postgres 4.2, postgresql새로운 기능 세트가 있습니다 보다 일관된 인터페이스를 제공합니다. 인터페이스는 동일합니다 XXX 손실 된 텍스트뿐만 아니라 동적으로로드 된 C 함수? 무엇 여기로 가야 해요 ??. 그만큼Postgres큰 배트맨 토토 인터페이스는 이후에 모델링됩니다.unix파일 시스템 인터페이스, 아날로그와 함께Open (2), 읽기 (2), 쓰기 (2), lseek (2)등. 사용자 기능을 호출하십시오 큰 배트맨 토토에서 관심있는 데이터 만 검색하는 루틴. 예를 들어, mugshot이라는 큰 배트맨 토토 유형이 존재하는 경우 얼굴 사진을 저장하면 수염이라는 기능은 머그 샷 데이터에 대해 선언했습니다. 수염은 a의 3 분의 1을 볼 수 있습니다 사진을 찍고 나타나는 수염의 색상을 결정하십시오. 거기에 있다면. 전체 큰 배트맨 토토 값을 버퍼링 할 필요가 없으며 또는 수염 기능에 의해 심지어 검사했습니다. 큰 물체가있을 수 있습니다 동적으로로드 된에서 액세스C라이브러리를 연결하는 기능 또는 데이터베이스 클라이언트 프로그램.Postgres세트를 제공합니다 개방, 읽기, 쓰기, 폐쇄 및 큰 물건을 찾고 있습니다.

큰 만들기 물체

루틴

OID lo_creat (pgconn *conn, int mode)
새로운 큰 배트맨 토토를 만듭니다. 모드는 비트 마스크를 설명합니다 새로운 배트맨 토토의 여러 가지 속성. 상징적 여기에 나열된 상수는에 정의되어 있습니다.pgroot/src/backend/libpq/libpq-fs.h액세스 유형 (읽기, 쓰기 또는 둘 다) 비트를 통제하거나 함께 통제합니다inv_readandinv_write. 큰 물체를 보관 해야하는 경우 - 즉, 역사적 버전의 이동이 이동 해야하는 경우 주기적으로 특별한 아카이브 관계에 -inv_archive비트를 설정해야합니다. 저차 16 비트의 마스크는 스토리지 관리자 번호입니다. 큰 물체가 상주해야합니다. 버클리 이외의 사이트의 경우 비트는 항상 0이어야합니다. 아래 명령은 (반전) 큰 대상 :
inv_oid = lo_creat (inv_read | inv_write | inv_archive);

가져 오기 a 큰 물체

a 가져 오기unix크게 파일을 파일로 파일 개체, 호출

oid lo_import (pgconn *conn, text *filename)
파일 이름 인수는를 지정합니다unixa로 가져올 파일의 경로 이름 큰 물체.

수출 a 큰 물체

큰 개체를 내보내기unix파일, 전화

int lo_export (pgconn *conn, oid lobjid, text *filename)
lobjid 인수는 큰 물체의 OID를 내보내기 및 파일 이름 인수는를 지정합니다unix파일의 PathName.

열기 an 기존의 큰 물체

기존의 큰 배트맨 토토를 열려면 Call

int lo_open (pgconn *conn, oid lobjid, int mode, ...)
lobjid 인수는 큰 개체의 OID를 열려 있는. 모드 비트는 객체가 열리는 지 제어합니다. inv_read), 쓰기 또는 둘 다. 큰 객체를 열 수 없습니다 생성되기 전에. lo_open은 큰 객체 디스크립터를 반환합니다 나중에 lo_read, lo_write, lo_lseek, lo_tell 및 lo_close에서 사용합니다.

데이터 작성 큰 물체

루틴

int lo_write (pgconn *conn, int fd, char *buf, int len)
Len 바이트를 BUF에서 큰 물체 FD로 씁니다. FD 논쟁 이전 lo_open에 의해 반환되었을 것입니다. 바이트 수 실제로 작성된 작성이 반환됩니다. 오류가 발생한 경우 반환 가치는 음수입니다.

a 큰 물체

큰 개체에서 현재 읽기 또는 쓰기 위치를 변경하려면, 부르다

int lo_lseek (pgconn *conn, int fd, int offset, int whence)
이 루틴은 현재 위치 포인터를 크게 이동합니다. FD가 오프셋으로 지정된 새 위치에 대한 객체. 그만큼 .i에 대한 유효한 값은 seek_set seek_cur 및 seek_end입니다.

큰 닫기 배트맨 토토 설명자

큰 배트맨 토토는 호출하여 닫을 수 있습니다

int lo_close (pgconn *conn, int fd)
여기서 FD는 LO_OPEN에 의해 ​​반환 된 큰 배트맨 토토 디스크립터입니다. ~에 성공,lo_close0을 반환합니다. ~에 오류, 반환 값은 음수입니다.