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
Tài liệu 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 kèo bóng đá hôm nay và ngày mai phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.33. postgres_fdw

ThePOSTGRES_FDWMô-đun cung cấp trình bao bọc dữ liệu nước ngoàiPOSTGRES_FDW, có thể được sử dụng để truy cập dữ liệu được lưu trữ trong bên ngoàiPOSTGRESQLkèo bóng đá hôm nay và ngày mai chủ.

Chức năng được cung cấp bởi mô -đun này chồng lên đáng kể với chức năng của người cũdblinkMô -đun. Nhưngpostgres_fdw10298_10433

Để chuẩn bị cho quyền truy cập kèo bóng đá hôm nay và ngày mai bằng cách sử dụngPostgres_FDW:

  1. Cài đặtPostgres_FDWTiện ích mở rộngPostgreSQL: Tà.

  2. Tạo đối tượng kèo bóng đá hôm nay và ngày mai chủ nước ngoài, sử dụngPostgreSQL:, để đại diện cho mỗi cơ sở dữ liệu kèo bóng đá hôm nay và ngày mai bạn muốn kết nối. Chỉ định thông tin kết nối, ngoại trừuserMật khẩu, là tùy chọn của đối tượng kèo bóng đá hôm nay và ngày mai chủ.

  3. Tạo ánh xạ người dùng, sử dụngPostgreSQL: Tài, Đối với mỗi người dùng cơ sở dữ liệu mà bạn muốn cho phép truy cập mỗi máy chủ nước ngoài. Chỉ định tên người dùng và mật khẩu kèo bóng đá hôm nay và ngày mai để sử dụng làuserMật khẩuTùy chọn ánh xạ người dùng.

  4. Tạo một bảng nước ngoài, sử dụngPostgreSQL: TàhoặcPostgreSQL: Tài liệu:, cho mỗi bảng từ xa bạn muốn truy cập. kèo bóng đá hôm nay và ngày mai cột của Bàn nước ngoài phải khớp với bảng từ xa được tham chiếu. Tuy nhiên, bạn có thể sử dụng tên bảng và/hoặc cột khác với bảng từ xa, nếu bạn chỉ định tên từ xa chính xác là kèo bóng đá hôm nay và ngày mai tùy chọn của đối tượng bảng nước ngoài.

Bây giờ bạn chỉ cầnChọnTừ một bảng nước ngoài để truy cập dữ liệu được lưu trữ trong bảng kèo bóng đá hôm nay và ngày mai cơ bản của nó. Bạn cũng có thể sửa đổi bảng kèo bóng đá hôm nay và ngày mai bằngChèn, Cập nhật, XóahoặcCopy12723_12836

Lưu ý rằngPostgres_FDWHiện đang thiếu hỗ trợ choChèn12960_12982trên xung đột do cập nhậtmệnh đề. Tuy nhiên,trên xung đột không làm gìmệnh đề được hỗ trợ, với điều kiện là một đặc điểm kỹ thuật suy luận chỉ số duy nhất bị bỏ qua. Cũng lưu ý rằngPOSTGRES_FDWHỗ trợ chuyển động hàng được gọi bởiCập nhậtkèo bóng đá hôm nay và ngày mai câu lệnh được thực thi trên kèo bóng đá hôm nay và ngày mai bảng được phân vùng, nhưng hiện tại nó không xử lý trường hợp phân vùng từ xa được chọn để chèn một hàng di chuyển vào cũng là mộtCập nhậtPhân vùng mục tiêu sẽ được cập nhật sau.

Nói chung, kèo bóng đá hôm nay và ngày mai cột của bảng nước ngoài được khai báo với chính xác kèo bóng đá hôm nay và ngày mai loại dữ liệu và đối chiếu nếu có thể, như kèo bóng đá hôm nay và ngày mai cột được tham chiếu của bảng từ xa. Mặc dùPOSTGRES_FDW13795_14044

Lưu ý rằng một bảng nước ngoài có thể được khai báo với ít cột hơn hoặc với một thứ tự cột khác, so với bảng điều khiển từ xa cơ bản của nó có. Kết hợp kèo bóng đá hôm nay và ngày mai cột với bảng từ xa là theo tên, không phải vị trí.

F.33.1. Tùy chọn FDW của Postgres_FDW

F.33.1.1. Tùy chọn kết nối

Một kèo bóng đá hôm nay và ngày mai chủ nước ngoài sử dụngPOSTGRES_FDWtrình bao bọc dữ liệu nước ngoài có thể có kèo bóng đá hôm nay và ngày mai tùy chọn tương tựlibpqChấp nhận trong kèo bóng đá hôm nay và ngày mai chuỗi kết nối, như được mô tả trongPhần 34.1.2, ngoại trừ việc kèo bóng đá hôm nay và ngày mai tùy chọn này không được phép:

  • userMật khẩu(Chỉ định những điều này trong ánh xạ người dùng, thay kèo bóng đá hôm nay và ngày maio đó)

  • client_encoding(Điều này được đặt tự động từ mã hóa kèo bóng đá hôm nay và ngày mai chủ cục bộ)

  • fallback_application_name(luôn luôn được đặt thànhPOSTGRES_FDW)

Chỉ kèo bóng đá hôm nay và ngày mai siêu người dùng mới có thể kết nối với máy chủ nước ngoài mà không cần xác thực mật khẩu, vì vậy hãy luôn chỉ địnhMật khẩuTùy chọn cho ánh xạ người dùng thuộc về những người không phải là người điều khiển.

16104_16140

kèo bóng đá hôm nay và ngày mai tùy chọn này có thể được sử dụng để kiểm soát kèo bóng đá hôm nay và ngày mai tên được sử dụng trong kèo bóng đá hôm nay và ngày mai câu lệnh SQL được gửi đến điều khiển từ xaPostgreSQLMáy chủ. kèo bóng đá hôm nay và ngày mai tùy chọn này là cần thiết khi một bảng nước ngoài được tạo với tên khác với tên của bảng từ xa bên dưới.

Schema_name

16646_16852

Table_Name

Tùy chọn này, có thể được chỉ định cho một bảng nước ngoài, đưa ra tên bảng để sử dụng cho bàn nước ngoài trên máy chủ kèo bóng đá hôm nay và ngày mai. Nếu tùy chọn này bị bỏ qua, tên của Bàn nước ngoài sẽ được sử dụng.

Cột_name

Tùy chọn này, có thể được chỉ định cho một cột của một bảng nước ngoài, đưa ra tên cột để sử dụng cho cột trên máy chủ kèo bóng đá hôm nay và ngày mai. Nếu tùy chọn này bị bỏ qua, tên của cột sẽ được sử dụng.

F.33.1.3. Tùy chọn ước tính chi phí

POSTGRES_FDWLấy dữ liệu từ xa bằng cách thực hiện kèo bóng đá hôm nay và ngày mai truy vấn đối với kèo bóng đá hôm nay và ngày mai máy chủ từ xa, vì vậy lý tưởng là chi phí ước tính của việc quét một bàn nước ngoài nên là bất cứ điều gì nó được thực hiện trên máy chủ từ xa, cộng với một số chi phí để liên lạc. Cách đáng tin cậy nhất để có được ước tính như vậy là hỏi máy chủ từ xa và sau đó thêm một cái gì đó cho chi phí - nhưng đối với kèo bóng đá hôm nay và ngày mai truy vấn đơn giản, nó có thể không xứng đáng với chi phí của một truy vấn từ xa bổ sung để ước tính chi phí. Vì thếPOSTGRES_FDWCung cấp kèo bóng đá hôm nay và ngày mai tùy chọn sau để kiểm soát cách ước tính chi phí được thực hiện:

use_remote_estimate

Tùy chọn này, có thể được chỉ định cho một bàn nước ngoài hoặc kèo bóng đá hôm nay và ngày mai chủ nước ngoài, kiểm soát xemPOSTGRES_FDWvấn đề kèo bóng đá hôm nay và ngày maiGiải thíchkèo bóng đá hôm nay và ngày mai lệnh để có được ước tính chi phí. Một cài đặt cho một bảng nước ngoài ghi đè bất kỳ cài đặt nào cho máy chủ của nó, nhưng chỉ cho bảng đó. Mặc định làSai.

fdw_startup_cost

Tùy chọn này, có thể được chỉ định cho máy chủ nước ngoài, là một giá trị số được thêm vào chi phí khởi động ước tính của bất kỳ lần quét bàn nước ngoài nào trên máy chủ đó. Điều này thể hiện chi phí bổ sung của việc thiết lập kết nối, phân tích cú pháp và lập kế hoạch truy vấn ở phía kèo bóng đá hôm nay và ngày mai, v.v ... Giá trị mặc định là100.

fdw_tuple_cost

19583_199400.01.

khiuse_remote_estimatelà đúng,Postgres_FDWcó được ước tính số lượng hàng và chi phí từ máy chủ kèo bóng đá hôm nay và ngày mai và sau đó thêmfdw_startup_costfdw_tuple_costvới ước tính chi phí. Khiuse_remote_estimatelà sai,POSTGRES_FDWThực hiện số lượng hàng địa phương và ước tính chi phí và sau đó thêmfdw_startup_costfdw_tuple_costvới ước tính chi phí. Ước tính địa phương này khó có thể rất chính xác trừ khi kèo bóng đá hôm nay và ngày mai bản sao cục bộ của số liệu thống kê của bảng từ xa có sẵn. Đang chạyPhân tíchTrên bàn nước ngoài là cách cập nhật số liệu thống kê địa phương; Điều này sẽ thực hiện quét bảng từ xa và sau đó tính toán và lưu trữ số liệu thống kê giống như bảng là cục bộ. Giữ số liệu thống kê cục bộ có thể là một cách hữu ích để giảm chi phí lập kế hoạch cho mỗi người cho một bảng từ xa-nhưng nếu bảng điều khiển từ xa được cập nhật thường xuyên, kèo bóng đá hôm nay và ngày mai số liệu thống kê địa phương sẽ sớm bị lỗi thời.

F.33.1.4. Tùy chọn thực thi kèo bóng đá hôm nay và ngày mai

​​Theo mặc định, chỉWHEREĐiều khoản sử dụng kèo bóng đá hôm nay và ngày mai toán tử và chức năng tích hợp sẽ được xem xét để thực hiện trên máy chủ từ xa. kèo bóng đá hôm nay và ngày mai điều khoản liên quan đến kèo bóng đá hôm nay và ngày mai chức năng không được xây dựng được kiểm tra cục bộ sau khi kèo bóng đá hôm nay và ngày mai hàng được tìm nạp. Nếu kèo bóng đá hôm nay và ngày mai chức năng đó có sẵn trên máy chủ từ xa và có thể được dựa vào để tạo ra kết quả tương tự như chúng ở cục bộ, hiệu suất có thể được cải thiện bằng cách gửi như vậyWHEREĐiều khoản để thực hiện kèo bóng đá hôm nay và ngày mai. Hành vi này có thể được kiểm soát bằng cách sử dụng tùy chọn sau:

Tiện ích mở rộng

Tùy chọn này là danh sách kèo bóng đá hôm nay và ngày mai tên được phân tách bằng dấu phẩyPostgreSQLTiện ích mở rộng được cài đặt, trong kèo bóng đá hôm nay và ngày mai phiên bản tương thích, trên cả máy chủ cục bộ và máy chủ từ xa. kèo bóng đá hôm nay và ngày mai chức năng và toán tử là bất biến và thuộc về một tiện ích mở rộng được liệt kê sẽ được coi là có thể chia cho máy chủ từ xa. Tùy chọn này chỉ có thể được chỉ định cho kèo bóng đá hôm nay và ngày mai máy chủ nước ngoài, không phải mỗi bàn.

Khi sử dụngTiện ích mở rộngTùy chọn,Đó là trách nhiệm của người dùngRằng kèo bóng đá hôm nay và ngày mai tiện ích mở rộng được liệt kê tồn tại và hoạt động giống hệt nhau trên cả máy chủ cục bộ và máy chủ từ xa. Nếu không, kèo bóng đá hôm nay và ngày mai truy vấn từ xa có thể thất bại hoặc cư xử bất ngờ.

fetch_size

Tùy chọn này chỉ định số lượng hàngPOSTGRES_FDWnên có được trong mỗi hoạt động tìm nạp. Nó có thể được chỉ định cho một bàn nước ngoài hoặc một kèo bóng đá hôm nay và ngày mai chủ nước ngoài. Tùy chọn được chỉ định trên bảng ghi đè một tùy chọn được chỉ định cho kèo bóng đá hôm nay và ngày mai chủ. Mặc định là100.

F.33.1.5. Tùy chọn cập nhật

Theo mặc định, tất cả kèo bóng đá hôm nay và ngày mai bảng nước ngoài bằng cách sử dụngPOSTGRES_FDWđược coi là có thể cập nhật. Điều này có thể được ghi đè bằng tùy chọn sau:

Updatable

Tùy chọn này kiểm soát xemPOSTGRES_FDWCho phép kèo bóng đá hôm nay và ngày mai bảng nước ngoài được sửa đổi bằng cách sử dụngChèn, Cập nhậtXóa24184_24327TRUE.

Tất nhiên, nếu bảng điều khiển kèo bóng đá hôm nay và ngày mai thực tế không thể cập nhật, dù sao cũng sẽ xảy ra lỗi. Việc sử dụng tùy chọn này chủ yếu cho phép lỗi được ném cục bộ mà không cần truy vấn máy chủ kèo bóng đá hôm nay và ngày mai. Tuy nhiên, lưu ý rằngthông tin_schemaLượt xem sẽ báo cáo APOSTGRES_FDWBảng nước ngoài có thể cập nhật (hoặc không) theo cài đặt của tùy chọn này, mà không cần kiểm tra máy chủ kèo bóng đá hôm nay và ngày mai.

F.33.1.6. Nhập tùy chọn

POSTGRES_FDWCó thể nhập kèo bóng đá hôm nay và ngày mai định nghĩa bàn nước ngoài bằng cách sử dụngPostgreSQL: Tài liệu:. Lệnh này tạo ra kèo bóng đá hôm nay và ngày mai định nghĩa về bảng nước ngoài trên máy chủ cục bộ phù hợp với kèo bóng đá hôm nay và ngày mai bảng hoặc chế độ xem có trên máy chủ từ xa. Nếu kèo bóng đá hôm nay và ngày mai bảng từ xa được nhập, có kèo bóng đá hôm nay và ngày mai cột của kèo bóng đá hôm nay và ngày mai loại dữ liệu do người dùng xác định, máy chủ cục bộ phải có kèo bóng đá hôm nay và ngày mai loại tương thích cùng tên.

Hành vi nhập khẩu có thể được tùy chỉnh với kèo bóng đá hôm nay và ngày mai tùy chọn sau (được đưa ra trongNhập lược đồ nước ngoàilệnh):

Nhập khẩu_collate

Tùy chọn này có kiểm soát liệu cộtđối chiếuTùy chọn được bao gồm trong kèo bóng đá hôm nay và ngày mai định nghĩa về kèo bóng đá hôm nay và ngày mai bảng nước ngoài được nhập từ máy chủ nước ngoài. Mặc định làTRUE. Bạn có thể cần tắt điều này nếu máy chủ từ xa có một bộ tên đối chiếu khác với máy chủ cục bộ, có khả năng là trường hợp nếu nó chạy trên một hệ điều hành khác. Tuy nhiên, nếu bạn làm như vậy, có một rủi ro rất nghiêm trọng là kèo bóng đá hôm nay và ngày mai cột của bảng được nhập khẩu sẽ không khớp với dữ liệu cơ bản, dẫn đến hành vi truy vấn dị thường.

Ngay cả khi tham số này được đặt thànhtrue, Nhập kèo bóng đá hôm nay và ngày mai cột có đối chiếu là mặc định của máy chủ từ xa có thể gặp rủi ro. Chúng sẽ được nhập khẩu vớiđối chiếu "mặc định"26775_26860

Nhập khẩu_default

Tùy chọn này có kiểm soát liệu cộtMặc địnhBiểu thức được bao gồm trong kèo bóng đá hôm nay và ngày mai định nghĩa về kèo bóng đá hôm nay và ngày mai bảng nước ngoài được nhập từ máy chủ nước ngoài. Mặc định làSai. Nếu bạn kích hoạt tùy chọn này, hãy cảnh giác với kèo bóng đá hôm nay và ngày mai mặc định có thể được tính toán khác nhau trên máy chủ cục bộ so với máy chủ từ xa;nextVal ()là một nguồn vấn đề phổ biến. TheNhậpSẽ hoàn toàn thất bại nếu biểu thức mặc định được nhập sử dụng chức năng hoặc toán tử không tồn tại cục bộ.

Nhập khẩu_not_null

Tùy chọn này có kiểm soát liệu cộtkhông nullkèo bóng đá hôm nay và ngày mai ràng buộc được bao gồm trong kèo bóng đá hôm nay và ngày mai định nghĩa về kèo bóng đá hôm nay và ngày mai bảng nước ngoài được nhập từ máy chủ nước ngoài. Mặc định làTRUE.

Lưu ý rằng kèo bóng đá hôm nay và ngày mai ràng buộc khác vớikhông nullsẽ không bao giờ được nhập từ kèo bóng đá hôm nay và ngày mai bảng từ xa. Mặc dùPostgreSQLkhông hỗ trợKiểm trakèo bóng đá hôm nay và ngày mai ràng buộc trên kèo bóng đá hôm nay và ngày mai bảng nước ngoài, không có điều khoản nào để nhập chúng tự động, vì rủi ro là một biểu thức ràng buộc có thể đánh giá khác nhau trên kèo bóng đá hôm nay và ngày mai máy chủ cục bộ và từ xa. Bất kỳ sự không nhất quán nào như vậy trong hành vi củaKiểm traràng buộc có thể dẫn đến kèo bóng đá hôm nay và ngày mai lỗi khó phát hiện trong tối ưu hóa truy vấn. Vì vậy, nếu bạn muốn nhậpKiểm trakèo bóng đá hôm nay và ngày mai ràng buộc, bạn phải làm như vậy bằng tay và bạn nên xác minh ngữ nghĩa của từng người một cách cẩn thận. Để biết thêm chi tiết về việc điều trịKiểm trakèo bóng đá hôm nay và ngày mai ràng buộc trên kèo bóng đá hôm nay và ngày mai bảng nước ngoài, xemPostgreSQL: Tà.

Bảng hoặc bảng nước ngoài là phân vùng của một số bảng khác được tự động loại trừ. kèo bóng đá hôm nay và ngày mai bảng được phân vùng được nhập, trừ khi chúng là phân vùng của một số bảng khác. Vì tất cả dữ liệu có thể được truy cập thông qua bảng được phân vùng là gốc của hệ thống phân vùng, nên cách tiếp cận này sẽ cho phép truy cập vào tất cả kèo bóng đá hôm nay và ngày mai dữ liệu mà không tạo thêm đối tượng.

F.33.2. Quản lý kết nối

Postgres_FDW29627_29982

F.33.3. Quản lý giao dịch

Trong một truy vấn tham khảo bất kỳ bảng kèo bóng đá hôm nay và ngày mai nào trên máy chủ nước ngoài,POSTGRES_FDWMở giao dịch trên máy chủ từ xa nếu một người chưa mở tương ứng với giao dịch cục bộ hiện tại. Giao dịch từ xa được cam kết hoặc hủy bỏ khi giao dịch địa phương thực hiện hoặc hủy bỏ. kèo bóng đá hôm nay và ngày mai điểm lưu được quản lý tương tự bằng cách tạo kèo bóng đá hôm nay và ngày mai điểm lưu từ xa tương ứng.

Giao dịch kèo bóng đá hôm nay và ngày mai sử dụngserializableMức cách ly khi giao dịch cục bộ cóserializableMức cách ly; nếu không thì nó sử dụngĐọc lặp lạiMức cách ly. Lựa chọn này đảm bảo rằng nếu một truy vấn thực hiện nhiều lần quét bảng trên máy chủ từ xa, nó sẽ nhận được kết quả phù hợp với ảnh chụp nhanh cho tất cả kèo bóng đá hôm nay và ngày mai lần quét. Hậu quả là kèo bóng đá hôm nay và ngày mai truy vấn liên tiếp trong một giao dịch sẽ thấy cùng một dữ liệu từ máy chủ từ xa, ngay cả khi kèo bóng đá hôm nay và ngày mai bản cập nhật đồng thời xảy ra trên máy chủ từ xa do kèo bóng đá hôm nay và ngày mai hoạt động khác. Hành vi đó dù sao cũng sẽ được mong đợi nếu giao dịch cục bộ sử dụngserializablehoặcĐọc lặp lạiCấp độ cô lập, nhưng có thể đáng ngạc nhiên cho AĐọc cam kếtGiao dịch địa phương. Một tương laiPostgreSQLPhát hành có thể sửa đổi kèo bóng đá hôm nay và ngày mai quy tắc này.

Lưu ý rằng nó hiện không được hỗ trợ bởiPOSTGRES_FDWĐể chuẩn bị giao dịch kèo bóng đá hôm nay và ngày mai cho cam kết hai pha.

F.33.4. Tối ưu hóa truy vấn kèo bóng đá hôm nay và ngày mai

POSTGRES_FDWcố gắng tối ưu hóa kèo bóng đá hôm nay và ngày mai truy vấn từ xa để giảm lượng dữ liệu được truyền từ kèo bóng đá hôm nay và ngày mai máy chủ nước ngoài. Điều này được thực hiện bằng cách gửi truy vấnWHEREĐiều khoản đến máy chủ từ xa để thực hiện và không truy xuất kèo bóng đá hôm nay và ngày mai cột bảng không cần thiết cho truy vấn hiện tại. Để giảm nguy cơ mắc bệnh truy vấn,WHEREĐiều khoản không được gửi đến máy chủ từ xa trừ khi chúng chỉ sử dụng kèo bóng đá hôm nay và ngày mai loại dữ liệu, toán tử và kèo bóng đá hôm nay và ngày mai chức năng được tích hợp hoặc thuộc về một tiện ích mở rộng được liệt kê trong máy chủ nước ngoàiTiện ích mở rộngTùy chọn. Toán tử và chức năng trong kèo bóng đá hôm nay và ngày mai điều khoản như vậy phải làImmutablelà tốt. Cho mộtCập nhậthoặcXóaTruy vấn,POSTGRES_FDWcố gắng tối ưu hóa việc thực thi truy vấn bằng cách gửi toàn bộ truy vấn đến máy chủ kèo bóng đá hôm nay và ngày mai nếu không có truy vấnWHEREkèo bóng đá hôm nay và ngày mai điều khoản không thể được gửi đến máy chủ từ xa, không tham gia cục bộ cho truy vấn, không có cấp độ hàng hàngtrướchoặcsauTrình kích hoạt trên bảng đích và khôngKiểm tra tùy chọnkèo bóng đá hôm nay và ngày mai ràng buộc từ kèo bóng đá hôm nay và ngày mai quan điểm của cha mẹ. TRONGCập nhật, Biểu thức để gán cho kèo bóng đá hôm nay và ngày mai cột đích chỉ phải sử dụng kèo bóng đá hôm nay và ngày mai loại dữ liệu tích hợp,Immutabletoán tử hoặcImmutablekèo bóng đá hôm nay và ngày mai chức năng, để giảm nguy cơ mắc bệnh truy vấn.

KhiPOSTGRES_FDWgặp sự tham gia giữa kèo bóng đá hôm nay và ngày mai bảng nước ngoài trên cùng một máy chủ nước ngoài, nó gửi toàn bộ tham gia vào máy chủ nước ngoài, trừ khi một số lý do, nó tin rằng nó sẽ hiệu quả hơn khi tìm nạp kèo bóng đá hôm nay và ngày mai hàng từ mỗi bảng hoặc trừ khi bảng tham chiếu liên quan đến kèo bóng đá hôm nay và ngày mai bản đồ người dùng khác nhau. Trong khi gửiTham giaĐiều khoản, nó có kèo bóng đá hôm nay và ngày mai biện pháp phòng ngừa tương tự như đã đề cập ở trên choWHEREmệnh đề.

Truy vấn thực sự được gửi đến máy chủ kèo bóng đá hôm nay và ngày mai để thực thi có thể được kiểm tra bằngGiải thích Verbose.

F.33.5. Môi trường thực thi truy vấn kèo bóng đá hôm nay và ngày mai

Trong kèo bóng đá hôm nay và ngày mai phiên từ xa được mở bởiPOSTGRES_FDW, Thesearch_paththam số được đặt thành chỉpg_catalog, do đó chỉ hiển thị kèo bóng đá hôm nay và ngày mai đối tượng tích hợp mà không có trình độ lược đồ. Đây không phải là vấn đề cho kèo bóng đá hôm nay và ngày mai truy vấn được tạo bởiPostgres_FDWchính nó, vì nó luôn cung cấp trình độ như vậy. Tuy nhiên, điều này có thể gây nguy hiểm cho kèo bóng đá hôm nay và ngày mai chức năng được thực thi trên máy chủ từ xa thông qua kèo bóng đá hôm nay và ngày mai kích hoạt hoặc quy tắc trên kèo bóng đá hôm nay và ngày mai bảng từ xa. Ví dụ: nếu một bảng từ xa thực sự là một chế độ xem, bất kỳ chức năng nào được sử dụng trong chế độ xem đó sẽ được thực thi với đường dẫn tìm kiếm bị hạn chế. Nên sử dụng Lược đồ-đủ điều kiện tất cả kèo bóng đá hôm nay và ngày mai tên trong kèo bóng đá hôm nay và ngày mai chức năng đó, hoặc khác đính kèmĐặt search_pathTùy chọn (xemTạo chức năng) đến kèo bóng đá hôm nay và ngày mai chức năng như vậy để thiết lập môi trường đường dẫn tìm kiếm dự kiến ​​của họ.

POSTGRES_FDWTương tự như vậy, thiết lập cài đặt phiên từ xa cho kèo bóng đá hôm nay và ngày mai tham số khác nhau:

  • 35814_35824được đặt thànhUTC

  • Datestyleđược đặt thànhISO

  • IntervalStyleđược đặt thànhPostgres

  • Extra_float_digitsđược đặt thành3Đối với máy chủ kèo bóng đá hôm nay và ngày mai 9.0 trở lên và được đặt thành2cho kèo bóng đá hôm nay và ngày mai phiên bản cũ hơn

Chúng ít có khả năng có vấn đề hơnsearch_path, nhưng có thể được xử lý với chức năngsetTùy chọn nếu có nhu cầu.

Đó làkhông36830_36961POSTGRES_FDWđến trục trặc.

F.33.6. Khả năng tương thích phiên bản chéo

POSTGRES_FDWCó thể được sử dụng với kèo bóng đá hôm nay và ngày mai máy chủ từ xa có niên đại trở lạiPOSTGRESQL8.3. Khả năng chỉ đọc có sẵn trở lại 8.1. Tuy nhiên, một giới hạn làPOSTGRES_FDWNói chung giả sử rằng kèo bóng đá hôm nay và ngày mai chức năng và toán tử tích hợp bất biến có thể an toàn để gửi đến máy chủ từ xa để thực thi, nếu chúng xuất hiện trongWHEREmệnh đề cho một bảng nước ngoài. Do đó, một chức năng tích hợp đã được thêm vào vì bản phát hành của máy chủ kèo bóng đá hôm nay và ngày mai có thể được gửi đến nó để thực thi, dẫn đếnHàm không tồn tạiKhănhoặc lỗi tương tự. Loại thất bại này có thể được làm việc xung quanh bằng cách viết lại truy vấn, ví dụ bằng cách nhúng tham chiếu bàn nước ngoài kèo bóng đá hôm nay và ngày maio một phụ-ChọnvớiOffset 0Là một hàng rào tối ưu hóa và đặt hàm hoặc toán tử có vấn đề bên ngoài phụ-Chọn.

F.33.7. Ví dụ

Đây là một ví dụ về việc tạo ra một bảng nước ngoài vớiPOSTGRES_FDW. Lần đầu tiên cài đặt tiện ích mở rộng:

Tạo phần mở rộng Postgres_fdw;

38683_38720PostgreSQL: Tài kèo bóng đá pháp:. Trong ví dụ này, chúng tôi muốn kết nối vớiPOSTGRESQLkèo bóng đá hôm nay và ngày mai chủ trên kèo bóng đá hôm nay và ngày mai chủ192.83.123.89nghe trên cổng5432. Cơ sở dữ liệu mà kết nối được thực hiện được đặt tênFRIANT_DBTrên máy chủ kèo bóng đá hôm nay và ngày mai:

Tạo kèo bóng đá hôm nay và ngày mai chủ nước ngoài_server
        Vòng bao bọc dữ liệu nước ngoài Postgres_fdw
        Tùy chọn (kèo bóng đá hôm nay và ngày mai chủ '192.83.123.89', cổng '5432', dbname 'foreign_db');

Ánh xạ người dùng, được xác định vớiPostgreSQL: Tài, cũng cần xác định vai trò sẽ được sử dụng trên máy chủ kèo bóng đá hôm nay và ngày mai:

Tạo ánh xạ người dùng cho local_user
        kèo bóng đá hôm nay và ngày mai chủ nước ngoài_server
        Tùy chọn (người dùng 'foreign_user', mật khẩu 'mật khẩu');

Bây giờ có thể tạo một bàn nước ngoài vớiPostgreSQL: Tà. Trong ví dụ này, chúng tôi muốn truy cập bảng có tên40034_40058Trên máy chủ kèo bóng đá hôm nay và ngày mai. Tên địa phương cho nó sẽ làforeign_table:

Tạo Taber Foreign_Table (
        Id Integer không null,
        Văn bản dữ liệu
)
        kèo bóng đá hôm nay và ngày mai chủ nước ngoài_server
        Tùy chọn (Schema_name 'Some_Schema', Table_Name 'some_table');

40400_40485Tạo bảng nước ngoàiKết hợp bảng điều khiển kèo bóng đá hôm nay và ngày mai thực tế. Tên cột cũng phải khớp, trừ khi bạn đính kèmCột_nameTùy chọn cho kèo bóng đá hôm nay và ngày mai cột riêng lẻ để hiển thị cách chúng được đặt tên trong bảng từ xa. Trong nhiều trường hợp, sử dụngPostgreSQL: Tài liệu:tốt hơn là xây dựng kèo bóng đá hôm nay và ngày mai định nghĩa bàn nước ngoài theo cách thủ công.

F.33.8. Tác giả

Shigeru Hanada