PGTCLlà gói TCL cho các chương trình khách hàng để giao diện vớiPostgreSQLMáy chủ. Nó làm cho hầu hết các chức năng củalibpqCó sẵn cho các tập lệnh TCL.
Gói này ban đầu được viết bởi Jolly Chen.
Bảng 4-1Cung cấp tổng quan về các lệnh có sẵn trongPGTCL. Các lệnh này được mô tả Hơn nữa trên các trang tiếp theo.
Bảng 4-1.PGTCLlệnh
lệnh | Mô tả |
---|---|
pg_connect |
Mở kết nối với máy chủ phụ trợ |
pg_disconnect |
Đóng kết nối |
pg_conndefaults |
Nhận các tùy chọn kết nối và mặc định của chúng |
PG_EXEC |
Gửi truy vấn đến phần phụ trợ |
pg_result |
Thao tác kết quả của truy vấn |
pg_select |
Vòng lặp qua kết quả của câu lệnh Chọn |
pg_listen |
Thiết lập cuộc gọi lại để thông báo tin nhắn |
PG_LO_Creat |
Tạo một đối tượng lớn |
PG_LO_OPEN |
Mở một đối tượng lớn |
pg_lo_close |
Đóng một đối tượng lớn |
pg_lo_read |
Đọc một đối tượng lớn |
PG_LO_WRITE |
Viết một đối tượng lớn |
PG_LO_LSEEK |
Tìm kiếm một vị trí trong một đối tượng lớn |
PG_LO_TELL |
Trả lại vị trí tìm kiếm hiện tại của một lớn sự vật |
PG_LO_UNLINK |
Xóa một đối tượng lớn |
PG_LO_IMPORT |
Nhập tệp Unix vào một đối tượng lớn |
PG_LO_EXPORT |
Xuất một đối tượng lớn vào tệp unix |
ThePG_LO_*
Thói quen là
giao diện với các tính năng đối tượng lớn củaPostgreSQL. Các chức năng được thiết kế để
bắt chước các chức năng hệ thống tệp tương tự trong Unix tiêu chuẩn
Giao diện hệ thống tệp. Thepg_lo_*
Các thói quen nên được sử dụng trong Abắt đầu/cam kếtKhối giao dịch vì bộ mô tả tệp được trả về bởiPG_LO_OPEN
chỉ có giá trị cho
Giao dịch hiện tại.PG_LO_IMPORT
vàPG_LO_EXPORT
phảiđược sử dụng trong Abắt đầu/cam kếtGiao dịch
khối.
Ví dụ 4-1hiển thị a Ví dụ nhỏ về cách sử dụng các thói quen.
Ví dụ 4-1.PGTCLChương trình ví dụ
# getdbs: # Nhận tên của tất cả các cơ sở dữ liệu tại một máy chủ và số cổng nhất định # với mặc định là localhost và port 5432 # Trả lại chúng theo thứ tự bảng chữ cái Proc getdbs host "localhost" port "5432" # Datnames là danh sách sẽ là kết quả Đặt Conn [pg_connect template1 -host $ host -port $ port] Đặt res [PG_EXEC $ Conn "Chọn DatName từ PG_DATABASE ĐẶT HÀNG BY DATNAME"] Đặt NTUPS [PG_RESULT $ RES -NUMTUMPLES] cho set i 0 $ i <$ ntups inc I Lappend Datnames [pg_result $ res -gettuple $ i] pg_result $ res -clear PG_DISCONNECT $ Conn Trả về $ Datnames