이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다스포츠 토토 베트맨 : 문서 : 17 : 33.3. 스포츠 토토 베트맨 스포츠 토토 사이트버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

29.3. 클라이언트 인터페이스

이 섹션은 시설에 대해 설명합니다PostgreSQL클라이언트 스포츠 토토 사이트 라이브러리 큰 물체에 액세스 할 수 있도록 제공하십시오. 모든 큰 대상 이러한 기능을 사용한 조작필수SQL 내에서 발생합니다 거래 블록. (이 요구 사항은 엄격하게 시행됩니다.Postgresql 6.5이전 버전에서 암시 적 요구 사항이었으며 결과적으로 발생했습니다 무시할 경우 오작동.)PostgreSQL큰 객체 스포츠 토토 사이트가 모델링되었습니다 이후unix파일 시스템 스포츠 토토 사이트, 아날로그가있는Open, 읽기, 쓰기, lseek, 등.

큰 객체 스포츠 토토 사이트를 사용하는 클라이언트 응용 프로그램에서libpq헤더를 포함해야합니다 파일libpq/libpq-fs.h와 링크libpq도서관.

29.3.1. 큰 개체 생성

함수

OID lo_creat (pgconn *conn, int mode);

새로운 대형을 만듭니다 물체. 반환 값은 새로운 큰 물체 또는 실패에 대한 Invalidoid (0).모드사용하지 않고 무시됩니다PostgreSQL8.1; 그러나 이전 릴리스와의 거꾸로 호환성을 설정하는 것이 가장 좋습니다.inv_read, inv_write또는inv_read | inv_write. (이 상징적 상수는 헤더 파일에 정의됩니다libpq/libpq-fs.h.)

예 :

inv_oid = lo_creat (conn, inv_read | inv_write);

함수

oid lo_create (pgconn *conn, oid lobjid);

또한 새로운 것을 만듭니다 큰 대상. 할당 할 OID는에 의해 지정할 수 있습니다.lobjid; 그렇다면 실패가 발생합니다 해당 OID가 이미 큰 물체에 사용중인 경우. 만약에lobjidis invalidoid (0) 그 다음에lo_create사용하지 않는 것을 할당합니다 OID (이것은와 같은 동작입니다lo_creat). 반환 값은 OID입니다 새로운 큰 물체 또는 Invalidoid (0)에 할당되었습니다. 실패.

lo_create새는PostgreSQL8.1; 이 경우 기능은 이전 서버 버전에 대해 실행되며 실패합니다. 그리고 invalidoid를 반환합니다.

예 :

inv_oid = lo_create (conn, destired_oid);

29.3.2. 큰 개체 가져 오기

운영 체제 파일을 큰 개체로 가져 오려면 부르다

oid lo_import (pgconn *conn, const char *filename);

filename운영 체제를 지정합니다 큰 개체로 가져올 파일의 이름. 반환 값은 새로운 큰 대상에 할당 된 OID입니다. 실패에 대한 Invalidoid (0). 파일은 다음에 의해 읽습니다 서버가 아닌 클라이언트 인터페이스 라이브러리; 그래서 그것은 존재해야합니다 클라이언트 파일 시스템에서 클라이언트가 읽을 수 있습니다. 애플리케이션.

29.3.3. 큰 개체 내보내기

큰 개체를 운영 체제 파일로 내보내려면, 부르다

int lo_export (pgconn *conn, oid lobjid, const char *filename);

thelobjid인수는 대형의 OID를 지정합니다 내보내기 및 개체filename인수 파일의 운영 체제 이름을 지정합니다. 메모 파일이 클라이언트 스포츠 토토 사이트 라이브러리가 작성했지만 서버에 의해. 성공시 1 회 반환, -1 실패.

29.3.4. 기존의 큰 개체 열기

읽기 또는 쓰기를위한 기존의 큰 물체를 열려면, 부르다

int lo_open (pgconn *conn, oid lobjid, int mode);

thelobjid인수는 대형의 OID를 지정합니다 열리는 개체. 그만큼모드비트 reading을 위해 개체가 열리는 지 제어 (inv_read), 쓰기 (inv_write) 또는 둘 다. (이 상징적 상수 헤더 파일에 정의되어 있습니다libpq/libpq-fs.h.) 큰 객체는 될 수 없습니다 생성되기 전에 열렸습니다.lo_open(무심한) 큰 물체를 반환합니다 나중에 사용하기위한 설명자lo_read, lo_write, lo_lseek, lo_telllo_close. 설명자는 유효합니다 현재 거래 기간. 실패시 -1입니다 반품.

서버는 현재 모드를 구별하지 않습니다inv_writeinv_read | inv_write: 당신은에서 읽을 수 있습니다 두 경우 모두 설명자. 그러나 중요한 것이 있습니다 이 모드의 차이와inv_read혼자 : withinv_read당신은 디스크립터에 글을 쓸 수 없습니다 그것에서 읽은 데이터는 큰 내용을 반영합니다. 활성화 된 트랜잭션 스냅 샷 당시 스포츠 토토 사이트 언제lo_open실행되었습니다. 나중에이 거래 또는 다른 거래에 의해 쓰여지더라도. 서술자에서 읽은 독서inv_write모든 쓰기를 반영하는 데이터를 반환합니다 다른 커밋 된 거래와 현재 거래. 이것은의 행동과 유사합니다SERIALIZABLEversusCommitted 읽기일반적인 거래 모드 SQLselect명령.

예 :

inv_fd = lo_open (conn, inv_oid, inv_read | inv_write);

29.3.5. 큰 개체에 데이터 작성

함수

int lo_write (pgconn *conn, int fd, const char *buf, size_t len);

쓰기Len바이트에서buf큰 스포츠 토토 사이트 설명 자에게FD. 그만큼FD인수가 반환되었을 것입니다 이전lo_open. 숫자 실제로 작성된 바이트가 반환됩니다. an의 경우 오류, 반환 값은 음수입니다.

29.3.6. 큰 개체에서 데이터 읽기

함수

int lo_read (pgconn *conn, int fd, char *buf, size_t len);

읽기Len큰 스포츠 토토 사이트 디스크립터의 바이트FDintobuf. 그만큼FD인수는 이전에 의해 반환되었을 것입니다lo_open. 실제로 읽은 바이트의 수는입니다 반환. 오류가 발생한 경우 반환 값은 부정적인.

29.3.7. 큰 대상을 찾는

와 관련된 현재 읽기 또는 쓰기 위치를 변경하려면 큰 객체 설명자, Call

int lo_lseek (pgconn *conn, int fd, int offset, int whence);

이 함수가 움직입니다 큰 객체 디스크립터의 현재 위치 포인터 식별FD새로운 위치 지정오프셋. 유효한 에 대한 값WHENCEareseek_set(개체에서 시작),seek_cur(현재 위치에서 찾으십시오) 및Seek_end(객체 끝에서 찾으십시오). 그만큼 반환 값은 새로운 위치 포인터 또는 오류의 -1입니다.

29.3.8. 큰 대상의 찾기 위치 얻기

대형의 현재 읽기 또는 쓰기 위치를 얻으려면 객체 설명 자, 호출

int lo_tell (pgconn *conn, int fd);

오류가있는 경우 반환 값은 음수입니다.

29.3.9. 큰 객체 디스크립터 닫기

큰 스포츠 토토 사이트 설명자가 호출하여 닫을 수 있습니다

int lo_close (pgconn *conn, int fd);

여기서FDlo_open. 성공에,lo_close0을 반환합니다. 오류가 발생하면 반환 가치는 음수입니다.

끝에 열려있는 대형 스포츠 토토 사이트 설명자 거래가 자동으로 닫힙니다.

29.3.10. 큰 물체 제거

데이터베이스에서 큰 스포츠 토토 사이트를 제거하려면 전화

int lo_unlink (pgconn *conn, oid lobjid);

thelobjid인수는 대형의 OID를 지정합니다 제거 할 스포츠 토토 사이트. 성공하면 1을 반환하고 -1은 실패시 -1