Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / 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

F.15. FILE_FDW - Truy cập các kèo bóng đá c1 trong hệ thống tệp của máy chủ#

TheFILE_FDWMô-đun cung cấp trình bao bọc dữ kèo bóng đá c1 nước ngoàiFILE_FDW, có thể được sử dụng để truy cập các kèo bóng đá c1 trong hệ thống tệp của máy chủ hoặc để thực hiện các chương trình trên máy chủ và đọc đầu ra của chúng. kèo bóng đá c1 hoặc đầu ra chương trình phải ở định dạng có thể được đọc bởiSao chép từ; nhìn thấyCopyĐể biết chi tiết. Truy cập vào các kèo bóng đá c1 hiện chỉ đọc.

Một bảng nước ngoài được tạo bằng cách sử dụng trình bao bọc này có thể có kèo bóng đá c1 tùy chọn sau:

FileName

Chỉ định kèo bóng đá c1 sẽ được đọc. Các đường dẫn tương đối có liên quan đến thư mục dữ liệu.FileNamehoặcChương trìnhphải được chỉ định, nhưng không phải cả hai.

Chương trình

Chỉ định lệnh sẽ được thực thi. Đầu ra tiêu chuẩn của lệnh này sẽ được đọc như thểSao chép từ chương trìnhđã được sử dụng. HoặcChương trìnhhoặcFileNamephải được chỉ định, nhưng không phải cả hai.

Định dạng

Chỉ định định dạng dữ kèo bóng đá c1, giống nhưCopy'sĐịnh dạngTùy chọn.

tiêu đề

Chỉ định xem dữ kèo bóng đá c1 có đường tiêu đề hay không, giống nhưCopy'stiêu đềTùy chọn.

Delimiter

Chỉ định ký tự phân cách dữ kèo bóng đá c1, giống nhưCopy'sDelimiterTùy chọn.

QUOTE

Chỉ định ký tự trích dẫn dữ kèo bóng đá c1, giống nhưCopy'sQUOTETùy chọn.

Escape

Chỉ định ký tự thoát dữ kèo bóng đá c1, giống nhưCopy'sEscapeTùy chọn.

null

Chỉ định chuỗi null dữ kèo bóng đá c1, giống nhưCopy'snullTùy chọn.

Mã hóa

Chỉ định mã hóa dữ kèo bóng đá c1, giống nhưCopy'smã hóaTùy chọn.

Lưu ý rằng trong khiCopycho phép kèo bóng đá c1 tùy chọn nhưtiêu đềĐể được chỉ định mà không có giá trị tương ứng, cú pháp tùy chọn Bàn nước ngoài yêu cầu giá trị phải có trong mọi trường hợp. Để kích hoạtCopyTùy chọn thường được viết mà không có giá trị, bạn có thể vượt qua giá trị true, vì tất cả kèo bóng đá c1 tùy chọn đó là booleans.

Một cột của một bảng nước ngoài được tạo bằng cách sử dụng trình bao bọc này có thể có kèo bóng đá c1 tùy chọn sau:

force_not_null

Đây là một tùy chọn Boolean. Nếu đúng, nó chỉ định rằng kèo bóng đá c1 giá trị của cột không được khớp với chuỗi null (nghĩa là mức bảngnullTùy chọn). Điều này có tác dụng tương tự như liệt kê cột trongCopy'sForce_not_NullTùy chọn.

Force_Null

Đây là một tùy chọn Boolean. Nếu đúng, nó chỉ định rằng kèo bóng đá c1 giá trị của cột khớp với chuỗi null được trả về dưới dạngnullNgay cả khi giá trị được trích dẫn. Không có tùy chọn này, chỉ có kèo bóng đá c1 giá trị chưa được trình bày khớp với chuỗi null được trả về dưới dạngnull. Điều này có tác dụng tương tự như liệt kê cột trongCopy'sForce_NullTùy chọn.

Copy'sForce_quoteTùy chọn hiện không được hỗ trợ bởiFILE_FDW.

kèo bóng đá c1 tùy chọn này chỉ có thể được chỉ định cho một bảng nước ngoài hoặc kèo bóng đá c1 cột của nó, không phải trong kèo bóng đá c1 tùy chọn củaFILE_FDWtrình bao bọc dữ liệu nước ngoài, cũng như trong kèo bóng đá c1 tùy chọn của máy chủ hoặc ánh xạ người dùng bằng cách sử dụng trình bao bọc.

Thay đổi kèo bóng đá c1 tùy chọn cấp bảng yêu cầu là một siêu người dùng hoặc có kèo bóng đá c1 đặc quyền của vai tròpg_read_server_files(để sử dụng tên kèo bóng đá c1) hoặc vai tròPG_EXECUTE_SERVER_PROGRAM(Để sử dụng một chương trình), vì lý do bảo mật: Chỉ một số người dùng mới có thể kiểm soát kèo bóng đá c1 nào được đọc hoặc chương trình nào được chạy. Về nguyên tắc, người dùng chính quy có thể được phép thay đổi các tùy chọn khác, nhưng điều đó không được hỗ trợ hiện tại.

Khi chỉ địnhChương trìnhTùy chọn, hãy nhớ rằng chuỗi tùy chọn được thực hiện bởi shell. Nếu bạn cần chuyển bất kỳ đối số nào cho lệnh đến từ một nguồn không đáng tin cậy, bạn phải cẩn thận để tước hoặc thoát khỏi bất kỳ ký tự nào có thể có ý nghĩa đặc biệt đối với vỏ.

Đối với một bảng nước ngoài bằng cách sử dụngFILE_FDW, Giải thíchHiển thị tên của kèo bóng đá c1 sẽ được đọc hoặc chương trình sẽ được chạy. Cho một kèo bóng đá c1, trừ khiChi phí tắtđược chỉ định, kích thước kèo bóng đá c1 (tính bằng byte) cũng được hiển thị.

Ví dụ F.1. Tạo một bảng nước ngoài cho nhật ký CSV PostgreSQL

Một trong những cách sử dụng rõ ràng choFILE_FDWlà để làm cho nhật ký hoạt động PostgreSQL có sẵn dưới dạng bảng để truy vấn. Để làm điều này, trước tiên bạn phải làĐăng nhập vào kèo bóng đá c1 CSV,Ở đây chúng ta sẽ gọipglog.csv. Đầu tiên, cài đặtfile_fdwnhư một phần mở rộng:

Tạo tiện ích mở rộng FILE_FDW;

Sau đó tạo một máy chủ nước ngoài:

16875_16929

Bây giờ bạn đã sẵn sàng tạo bảng dữ kèo bóng đá c1 nước ngoài. Sử dụngTạo bảng nước ngoàiLệnh, bạn sẽ cần xác định các cột cho bảng, tên kèo bóng đá c1 CSV và định dạng của nó:

Tạo pglog bảng nước ngoài (

Đó là nó - bây giờ bạn có thể truy vấn nhật ký của mình trực tiếp. Trong sản xuất, tất nhiên, bạn sẽ cần xác định một số cách để xử lý vòng quay nhật ký.


Ví dụ F.2. Tạo một bàn nước ngoài với một tùy chọn trên cột

Để đặtForce_NullTùy chọn cho một cột, sử dụngTùy chọnTừ khóa.

Tạo phim nước ngoài (

Gửi sửa

Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá c1 không chính xác, không phù hợpMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá c1.