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

토토 사이트

시설Postgres백엔드에서 큰 개체에 액세스 할 수 있도록 제공합니다. 응용 프로그램의 일부로 사용자 정의 함수 또는 프론트 엔드 토토 사이트를 사용하여 아래에 설명되어 있습니다. 친숙한 사용자를 위해Postgres 4.2, PostgreSQL새로운 기능 세트가 있습니다 더 일관된 토토 사이트 제공.

참고 :모든 큰 객체 조작필수SQL 트랜잭션 내에서 발생합니다. 이것 요건은 Postgres v6.5에 따라 엄격하게 시행됩니다. 이전 버전에서 암시 적 요구 사항이되어 결과적으로 이루어졌습니다 무시하면 오작동에서.

thePostgres큰 물체 토토 사이트는 이후에 모델링됩니다.unix파일 시스템 토토 사이트, 아날로그와 함께Open (2), 읽기 (2), 쓰기 (2), lseek (2)등. 사용자 함수는 이러한 루틴을 호출합니다 큰 객체에서 관심있는 데이터 만 검색합니다. 을 위한 예를 들어, mugshot이라는 큰 객체 유형이 저장된 경우 얼굴 사진, 그러면 수염이라는 기능은 머그 샷 데이터에 대해 선언했습니다. 수염은 a의 3 분의 1을 볼 수 있습니다 사진을 찍고 나타나는 수염의 색상을 결정하십시오. 거기에 있다면. 전체 큰 객체 값을 버퍼링 할 필요가 없으며 또는 수염 기능에 의해 심지어 검사했습니다. 큰 물체가있을 수 있습니다 동적으로로드 된에서 액세스C라이브러리를 연결하는 기능 또는 데이터베이스 클라이언트 프로그램.Postgres세트를 제공합니다 개방, 읽기, 쓰기, 폐쇄 및 큰 물건을 찾고 있습니다.

큰 만들기 물체

루틴

OID lo_creat (pgconn *conn, int모드)
새로운 큰 대상을 만듭니다.모드는 여러 가지를 설명하는 비트 마스크입니다 새로운 객체의 다른 속성. 상징적 상수 여기에 나열된$pgroot/src/backend/libpq/libpq-ss.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, const char *filename)
filename지정unix파일의 경로 이름 큰 물체로 가져 오기.

수출 a 큰 물체

큰 개체를 내보내기unix파일, 콜

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

열기 an 기존의 큰 물체

기존의 큰 개체를 열려면

int lo_open (pgconn *conn, oid lobjid, int mode)
lobjid 인수는 큰 물체의 OID를 열려 있는. 모드 비트는 객체가 열리는 지 제어합니다. inv_read), 쓰기 또는 둘 다. 큰 객체를 열 수 없습니다 그것이 만들어지기 전에.lo_open반환 a 나중에 사용하기위한 큰 객체 디스크립터lo_read, lo_write, lo_lseek, lo_telllo_close.

데이터 작성 큰 물체

루틴

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

데이터 읽기 큰 물체에서

루틴

int lo_read (pgconn *conn, int fd, char *buf, size_t len)
큰 객체 fd에서 byf로 Len 바이트를 읽습니다. FD 인수는 이전에 의해 반환되었을 것입니다.lo_open. 실제로 읽은 바이트의 수는입니다 반환. 오류가 발생하면 반환 값이 음수입니다.

a 큰 물체

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

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

큰 닫기 객체 설명자

큰 객체가 호출하여 닫힐 수 있습니다

int lo_close (pgconn *conn, int fd)
FD가 큰 객체 디스크립터에 의해 반환된다lo_open. 성공에,lo_close0을 반환합니다. 오류가 발생하면 반환 값입니다 부정적입니다.