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
Tài soi kèo bóng đá truoctran này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong soi kèo bóng đá truoctran phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.14. file_fdw

TheFILE_FDWMô-đun cung cấp trình bao bọc dữ soi kèo bóng đá truoctran nước ngoàifile_fdw, có thể được sử dụng để truy cập các tệp dữ soi kèo bóng đá truoctran 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. Tệp dữ soi kèo bóng đá truoctran 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 tệp dữ soi kèo bóng đá truoctran 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ó các tùy soi kèo bóng đá truoctran sau:

FileName

Chỉ định tệp sẽ được đọc. Các đường dẫn tương đối có liên quan đến thư mục dữ soi kèo bóng đá truoctran. HoặcFileNamehoặ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ữ soi kèo bóng đá truoctran, giống nhưCopy'sĐịnh dạngTùy soi kèo bóng đá truoctran.

tiêu đề

Chỉ định xem dữ soi kèo bóng đá truoctran có đường tiêu đề hay không, giống nhưCopy's10841_10849Tùy soi kèo bóng đá truoctran.

Delimiter

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

QUOTE

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

Escape

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

null

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

mã hóa

11953_11996Copy'smã hóaTùy soi kèo bóng đá truoctran.

Lưu ý rằng trong khiCopyCho phép các tùy soi kèo bóng đá truoctran nhưtiêu đềĐể được chỉ định mà không có giá trị tương ứng, cú pháp tùy soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ả các tùy soi kèo bóng đá truoctran đó là booleans.

12513_12601

Force_not_Null

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

Force_Null

Đây là một tùy soi kèo bóng đá truoctran Boolean. Nếu đúng, nó chỉ định rằng các 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 soi kèo bóng đá truoctran này, chỉ có các 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 soi kèo bóng đá truoctran.

Copy'SOIDSForce_quoteTùy soi kèo bóng đá truoctran hiện không được hỗ trợ bởiFILE_FDW.

Các tùy soi kèo bóng đá truoctran này chỉ có thể được chỉ định cho một bảng nước ngoài hoặc các cột của nó, không phải trong các tùy soi kèo bóng đá truoctran củafile_fdwtrình bao bọc dữ liệu nước ngoài, cũng như trong các tùy soi kèo bóng đá truoctran 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 các tùy soi kèo bóng đá truoctran cấp bảng yêu cầu là một siêu người dùng hoặc có các đặc quyền của vai trò mặc địnhpg_read_server_files(để sử dụng tên tệp) hoặc vai trò mặc địnhPG_EXECUTE_SERVER_PROGRAM14369_14612

Khi chỉ địnhChương trìnhTùy soi kèo bóng đá truoctran, hãy nhớ rằng chuỗi tùy soi kèo bóng đá truoctran đượ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ỏ. Vì lý do bảo mật, tốt nhất là sử dụng chuỗi lệnh cố định hoặc ít nhất là tránh chuyển bất kỳ đầu vào người dùng nào trong đó.

Đố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 tệp sẽ được đọc hoặc chương trình sẽ được chạy. Cho một tệp, trừ khiChi phí tắtđược chỉ định, kích thước tệp (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 tệp 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 phần mở rộng File_FDW;

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

16146_16200

Bây giờ bạn đã sẵn sàng để tạo bảng dữ soi kèo bóng đá truoctran nước ngoài. Sử dụngTạo bảng nước ngoài16325_16422

Tạo pglog bảng nước ngoài (
  log_time timeStamp (3) với múi giờ,
  văn bản user_name,
  cơ sở dữ liệu_name văn bản,
  Intection_id Integer,
  kết nối_from văn bản,
  Session_id văn bản,
  session_line_num bigint,
  chỉ huy_tag văn bản,
  session_start_time timeStamp với múi giờ,
  Virtual_transaction_id văn bản,
  Giao dịch_id Bigint,
  văn bản error_Severity,
  văn bản SQL_STATE_CODE,
  văn bản tin nhắn,
  văn bản chi tiết,
  gợi ý văn bản,
  văn bản internal_query,
  Internal_query_pos Integer,
  văn bản bối cảnh,
  văn bản truy vấn,
  Số nguyên query_pos,
  Vị trí văn bản,
  application_name văn bản
) Pglog máy chủ
Tùy soi kèo bóng đá truoctran (tên tệp '/home/josh/data/log/pglog.csv', định dạng 'csv');

Đó 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ý.