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.16. file_fdw

Thefile_fdwMô-đun cung cấp trình bao bọc dữ kèo bóng đá euro nước ngoàiFILE_FDW, có thể được sử dụng để truy cập các tệp dữ kèo bóng đá euro 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ữ kèo bóng đá euro 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ữ kèo bóng đá euro 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 kèo bóng đá euro 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ữ kèo bóng đá euro. 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ữ kèo bóng đá euro, giống nhưCopy'sĐịnh dạngTùy kèo bóng đá euro.

tiêu đề

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

Delimiter

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

QUOTE

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

Escape

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

null

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

mã hóa

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

Lưu ý rằng trong khiCopycho phép các tùy kèo bóng đá euro nhưtiêu đềĐể được chỉ định mà không có giá trị tương ứng, cú pháp tùy kèo bóng đá euro 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ạtCopyCác tùy kèo bóng đá euro thường được viết mà không có giá trị, bạn có thể chuyển giá trị true, vì tất cả các tùy kèo bóng đá euro đó 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ó các tùy kèo bóng đá euro sau:

force_not_null

Đây là một tùy kèo bóng đá euro 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 kèo bóng đá euro). Điều này có tác dụng tương tự như liệt kê cột trongCopy'sforce_not_null12696_12706

Force_Null

Đây là một tùy kèo bóng đá euro 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 kèo bóng đá euro 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 kèo bóng đá euro.

Copy'sForce_quoteTùy kèo bóng đá euro hiện không được hỗ trợ bởifile_fdw.

Các tùy kèo bóng đá euro 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 kèo bóng đá euro củaFILE_FDWtrình bao bọc dữ kèo bóng đá euro nước ngoài, cũng như trong các 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.

13692_13787PG_READ_SERVER_FILES(để sử dụng tên tệp) hoặc vai tròPG_EXECUTE_SERVER_PROGRAM(sử dụng chương trình), vì lý do bảo mật: Chỉ một số người dùng nhất định mới có thể kiểm soát tệp 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 kèo bóng đá euro khác, nhưng điều đó không được hỗ trợ hiện tại.

Khi chỉ địnhChương trìnhTùy kèo bóng đá euro, hãy nhớ rằng chuỗi tùy kèo bóng đá euro đượ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,mà ở đây chúng ta sẽ gọipglog.csv. Đầu tiên, cài đặtfile_fdwnhư một phần mở rộng:

15586_15616

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

15698_15752

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

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,
  văn bản backend_type,
  Leader_pid Integer,
  Query_id Bigint
) Pglog máy chủ
Tùy kèo bóng đá euro (tên tệp '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ý.


Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá euro không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá euro.