Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của kèo bóng đá pháp.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá pháp32.3.

Phần này mô tả các cơ sởkèo bóng đá pháp'slibpqThư viện kèo bóng đá pháp cung cấp chokèo bóng đá phápkèo bóng đá pháp đối tượng lớn được mô hình hóaUNIXHệ thống tệpMở, đọc, Viết, LSEEK,

Tất cả các thao tác đối tượng kèo bóng đá pháp bằng cách sử dụng các chức năng nàyphảidiễn ra trong SQL

Nếu xảy ra lỗi trong khi thực hiện bất kỳ một trong những chức năng này,pqerrormessage.

Ứng dụng kèo bóng đá pháp sử dụng các chức năng này nên bao gồmlibpq/libpq-fs.hvà liên kếtlibpqThư viện.

32.3.1.

hàm

oid lo_creat (pgconn *Conn, int mode);

Tạo một đối tượng kèo bóng đá pháp mới. Giá trị trả lại là OID làkhông hợp lệ(không) về thất bại.Modekhông được sử dụng và bỏ qua nhưkèo bóng đá pháp8.1; Tuy nhiên, cho lạc hậuinv_read, inv_writehoặcinv_read | inv_write.libpq/libpq-fs.h.)

Một ví dụ:

inv_oid = lo_creat (Conn, inv_read | inv_write);

hàm

oid lo_create (pgconn *Conn, oid lobjid);

cũng tạo ra một đối tượng kèo bóng đá pháp mới. OID được gán có thểlobjid; Nếu vậy, thất bạilobjidkhông hợp lệ(không) sau đólo_creategán OID không sử dụng (điều này giống nhauLO_CREAT). Sự trở lạikhông hợp lệ(không) về thất bại.

LO_CREATElà mới nhưkèo bóng đá pháp8.1; Nếu chức năng nàykhông hợp lệ.

Một ví dụ:

inv_oid = lo_create (Conn, desired_oid);

32.3.2.

Để nhập tệp hệ điều hành dưới dạng đối tượng kèo bóng đá pháp, hãy gọi

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

FileNameChỉ định hoạt độngkhông hợp lệ(không) về thất bại. Lưu ý rằng

hàm

oid lo_import_with_oid (pgconn *Conn, const char *filename, oid lobjid);

Cũng nhập một đối tượng kèo bóng đá pháp mới. OID được gán có thểlobjid; Nếu vậy, thất bạilobjidkhông hợp lệ(không) sau đólo_import_with_oidgán OID không sử dụng (đây làLO_IMPORT). Cáckhông hợp lệ(không) về thất bại.

lo_import_with_oidlà mới nhưkèo bóng đá pháp8.4 và sử dụngLO_CREATENội bộ là mới trongkhông hợp lệ.

32.3.3.

Để xuất một đối tượng kèo bóng đá pháp vào tệp hệ điều hành, gọi

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

ThelobjidĐối số chỉ định OIDFileNameĐối số chỉ định hệ điều hành

32.3.4. Mở một

Để mở một đối tượng kèo bóng đá pháp hiện có để đọc hoặc viết,

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

ThelobjidĐối số chỉ định OIDModeĐiều khiển bit xem đối tượng có được mở để đọc không (inv_read), Viết (inv_write) hoặc cả hai. (Những hằng số tượng trưng này làlibpq/libpq-fs.h.)LO_OPENTrả về một đối tượng kèo bóng đá pháp (không âm)lo_read, lo_write, lo_lseek, LO_LSEEK64, lo_tell, LO_TELL64, LO_TRUNCATE, LO_TRUNCATE64lo_close. Mô tả chỉ có giá trị cho

Máy chủ hiện không phân biệt giữa các chế độinv_writeinv_read | inv_write: bạn được phép đọc từinv_readmột mình: vớiinv_readBạn không thể viết trênLO_OPENđã được thực thi,inv_writeTrả về dữ liệu phản ánh tất cả các văn bản của các cam kết khácĐọc lặp lạiso vớiĐọc cam kếtChế độ giao dịchChọnlệnh.

Một ví dụ:

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

32.3.5. Viết

hàm

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

Writeslenbyte từBUF(phải có kích thướclen) đến mô tả đối tượng kèo bóng đá phápFD. TheFDĐối sốLO_OPEN. Số lượng byte thực sự được viết làlenTrừ khi có lỗi). Trong

mặc dùlentham số làsize_t, chức năng này sẽ từ chốiint_max. TRONG

32.3.6. Đọc

hàm

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

đọc lên đếnlenByte từ kèo bóng đá phápFDthànhBUF(phải có kích thướclen). ThefdĐối sốlo_open. Số lượng byte thực sự đọc làlenNếu

mặc dùlentham số làsize_t, chức năng này sẽ từ chốiint_max. TRONG

32.3.7. Tìm kiếm trong

Để thay đổi vị trí đọc hoặc ghi hiện tại được liên kết với A

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

Hàm này di chuyển con trỏ vị trí hiện tại cho kèo bóng đá phápFDđếnOffset.whenceSeek_set(tìm kiếm từ bắt đầu đối tượng),Seek_Cur(tìm kiếm từ vị trí hiện tại) vàSeek_end(tìm kiếm từ cuối đối tượng). Sự trở lại

Khi xử lý các đối tượng kèo bóng đá pháp có thể vượt quá kích thước 2GB,

21223_21297

Hàm này có hành vi giống nhưLO_LSEEK, nhưng nó có thể chấp nhậnOffsetkèo bóng đá pháp hơn 2GB và/hoặc cung cấp kết quảlo_lseekSẽ thất bại nếu con trỏ vị trí mới sẽ kèo bóng đá pháp hơn

LO_LSEEK64là mới nhưkèo bóng đá pháp9.3. Nếu chức năng này

32.3.8. Có được

Để có được vị trí đọc hoặc ghi hiện tại của một đối tượng kèo bóng đá pháp

int lo_tell (pgconn *Conn, int fd);

Nếu có lỗi, giá trị trả về là -1.

Khi xử lý các đối tượng kèo bóng đá pháp có thể vượt quá kích thước 2GB,

PG_INT64 LO_TELL64 (PGCONN *Conn, Int FD);

Hàm này có cùng hành vi nhưlo_tell, nhưng nó có thể mang lại kết quả kèo bóng đá pháp hơnlo_tellSẽ thất bại nếu

LO_TELL64là mới nhưkèo bóng đá pháp9.3. Nếu chức năng này

32.3.9.

Để cắt một đối tượng kèo bóng đá pháp thành một độ dài nhất định, gọi

int lo_truncate (pgcon *Conn, int fd, size_t len);

Hàm này cắt giảm mô tả đối tượng kèo bóng đá phápFDto Longlen. TheFDĐối số phải được trả lại bởi mộtLO_OPEN. Nếu nhưlenkèo bóng đá pháp hơn dòng điện của đối tượng kèo bóng đá pháplo_truncateTrả về 0. Do lỗi, sự trở lại

Vị trí đọc/ghi được liên kết với bộ mô tảFDkhông thay đổi.

mặc dùlentham số làsize_t, LO_TRUNCATEsẽ từ chối các giá trị độ dài kèo bóng đá pháp hơnint_max.

Khi xử lý các đối tượng kèo bóng đá pháp có thể vượt quá kích thước 2GB,

int lo_truncate64 (pgcon *Conn, int fd, pg_int64 len);

Hàm này có hành vi tương tự nhưlo_truncate, nhưng nó có thể chấp nhậnlenGiá trị vượt quá 2GB.

lo_truncatelà mới nhưkèo bóng đá pháp8.3; Nếu chức năng này

LO_TRUNCATE64là mới nhưkèo bóng đá pháp9.3; Nếu chức năng này

32.3.10. Đóng cửa

Một mô tả đối tượng kèo bóng đá pháp có thể được đóng bằng cách gọi

int lo_close (pgconn *Conn, int fd);

WHEREFDlà một mô tả đối tượng kèo bóng đá phápLO_OPEN. Về thành công,lo_closeTrả về 0. Về lỗi,

Bất kỳ mô tả đối tượng kèo bóng đá pháp nào vẫn mở ở cuối A của A

32.3.11.

Để xóa một đối tượng kèo bóng đá pháp khỏi cơ sở dữ liệu, gọi

int lo_unlink (pgconn *Conn, oid lobjid);

ThelobjidĐối số chỉ định OID