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 đá cúp c2 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 kèo bóng đá cúp c2POSTGRES_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 đá cúp c2 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_fdwCung cấp cú pháp tuân thủ tiêu chuẩn hơn và theo tiêu chuẩn để truy cập kèo bóng đá cúp c2 bảng từ xa và có thể cho hiệu suất tốt hơn trong nhiều trường hợp.

Để chuẩn bị cho quyền truy cập từ xa 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 đá cúp c2 chủ nước ngoài, sử dụngPostgreSQL: Tài kèo, để đại diện cho mỗi cơ sở dữ liệu từ xa 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 đá cúp c2 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 kèo bóng đá cúp c2 chủ nước ngoài. Chỉ định tên người dùng và mật khẩu từ xa để sử dụng làuserMật khẩuTùy chọn ánh xạ người dùng.

  4. Tạo một bảng kèo bóng đá cúp c2, sử dụngPostgreSQL: Tài kèo tỷhoặcNhập lược đồ kèo bóng đá cúp c2, cho mỗi bảng từ xa bạn muốn truy cập. kèo bóng đá cúp c2 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 đá cúp c2 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 kèo bóng đá cúp c2 để truy cập dữ liệu được lưu trữ trong bảng từ xa cơ bản của nó. Bạn cũng có thể sửa đổi bảng từ xa bằngChèn, Cập nhật, XóahoặcCopy. .

Lưu ý rằngPostgres_FDWHiện đang thiếu hỗ trợ choChènCâu nói vớitrê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 đá cúp c2 câu lệnh được thực thi trên kèo bóng đá cúp c2 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 đá cúp c2 cột của bảng nước ngoài được khai báo với chính xác kèo bóng đá cúp c2 loại dữ liệu và đối chiếu nếu có thể, như kèo bóng đá cúp c2 cột được tham chiếu của bảng từ xa. Mặc dùPOSTGRES_FDW13795_14044

14052_14253

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 đá cúp c2 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 đá cúp c2 tùy chọn tương tựlibpqChấp nhận trong kèo bóng đá cúp c2 chuỗi kết nối, như được mô tả trongPhần 33.1.2, ngoại trừ việc kèo bóng đá cúp c2 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 vào đó)

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

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

Chỉ kèo bóng đá cúp c2 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.

F.33.1.2. Tùy chọn tên đối tượng

kèo bóng đá cúp c2 tùy chọn này có thể được sử dụng để kiểm soát kèo bóng đá cúp c2 tên được sử dụng trong kèo bóng đá cúp c2 câu lệnh SQL được gửi đến điều khiển từ xaPostgreSQLMáy chủ. kèo bóng đá cúp c2 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

Tùy chọn này, có thể được chỉ định cho một bảng nước ngoài, đưa ra tên lược đồ để sử dụng cho bàn nước ngoài trên kèo bóng đá cúp c2 chủ từ xa. Nếu tùy chọn này bị bỏ qua, tên của lược đồ của Bàn nước ngoài được sử dụng.

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 kèo bóng đá cúp c2 chủ từ xa. 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 kèo bóng đá cúp c2 chủ từ xa. 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 đá cúp c2 truy vấn đối với kèo bóng đá cúp c2 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 đá cúp c2 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 đá cúp c2 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 đá cúp c2 chủ nước ngoài, kiểm soát xemPOSTGRES_FDWvấn đề từ xaGiải thíchkèo bóng đá cúp c2 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 kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 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 từ xa, 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ừ kèo bóng đá cúp c2 chủ từ xa và sau đó thêmfdw_startup_costfdw_tuple_costvới ước tính chi phí. Khiuse_remote_estimatelà sai,20413_20427Thự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 đá cúp c2 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ích20841_21224

F.33.1.4. Tùy chọn thực thi từ xa

​​Theo mặc định, chỉWHEREĐiều khoản sử dụng kèo bóng đá cúp c2 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 đá cúp c2 điều khoản liên quan đến kèo bóng đá cúp c2 chức năng không được xây dựng được kiểm tra cục bộ sau khi kèo bóng đá cúp c2 hàng được tìm nạp. Nếu kèo bóng đá cúp c2 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 từ xa. 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 đá cúp c2 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 đá cúp c2 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 đá cúp c2 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 đá cúp c2 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 đá cúp c2 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 đá cúp c2 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àng23079_2309323098_23291100.

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

Theo mặc định, tất cả kèo bóng đá cúp c2 bảng nước ngoài bằng cách sử dụng23672_23686đượ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 đá cúp c2 bảng nước ngoài được sửa đổi bằng cách sử dụngChèn, Cập nhậtXóalệnh. Nó có thể được chỉ định cho một bàn nước ngoài hoặc một kèo bóng đá cúp c2 chủ nước ngoài. Một tùy chọn cấp bảng ghi đè một tùy chọn cấp kèo bóng đá cúp c2 chủ. Mặc định làTRUE.

Tất nhiên, nếu bảng điều khiển từ xa 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 kèo bóng đá cúp c2 chủ từ xa. 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 kèo bóng đá cúp c2 chủ từ xa.

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

POSTGRES_FDWCó thể nhập kèo bóng đá cúp c2 định nghĩa bàn nước ngoài bằng cách sử dụngNhập lược đồ kèo bóng đá cúp c2. Lệnh này tạo ra kèo bóng đá cúp c2 đị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 đá cúp c2 bảng hoặc chế độ xem có trên máy chủ từ xa. Nếu kèo bóng đá cúp c2 bảng từ xa được nhập, có kèo bóng đá cúp c2 cột của kèo bóng đá cúp c2 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 đá cúp c2 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 đá cúp c2 tùy chọn sau (được đưa ra trongNhập lược đồ kèo bóng đá cúp c2lệ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 đá cúp c2 định nghĩa về kèo bóng đá cúp c2 bảng nước ngoài được nhập từ máy chủ nước ngoài. Mặc định làTRUE26162_26535

Ngay cả khi tham số này được đặt thànhtrue, Nhập kèo bóng đá cúp c2 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", sẽ chọn đối chiếu mặc định của kèo bóng đá cúp c2 chủ cục bộ, có thể khác.

26934_26950

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 đá cúp c2 định nghĩa về kèo bóng đá cúp c2 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 đá cúp c2 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. The27458_27466Sẽ 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_generated

Tùy chọn này có kiểm soát liệu cộtTạokèo bóng đá cúp c2 biểu thức được bao gồm trong kèo bóng đá cúp c2 định nghĩa về kèo bóng đá cúp c2 bảng nước ngoài được nhập từ một máy chủ nước ngoài. Mặc định làTRUE. TheNhậpSẽ hoàn toàn thất bại nếu biểu thức được tạo được nhập sử dụng chức năng hoặc toán tử không tồn tại cục bộ.

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

Lưu ý rằng kèo bóng đá cúp c2 ràng buộc khác vớikhông nullsẽ không bao giờ được nhập từ kèo bóng đá cúp c2 bảng từ xa. Mặc dùPostgreSQLkhông hỗ trợ28718_28725kèo bóng đá cúp c2 ràng buộc trên kèo bóng đá cúp c2 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 đá cúp c2 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 tra29005_29103Kiểm trakèo bóng đá cúp c2 ràng buộc, bạn phải làm như vậy theo cách thủ công 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ị29294_29301kèo bóng đá cúp c2 ràng buộc trên kèo bóng đá cúp c2 bảng nước ngoài, xemPostgreSQL: Tài kèo 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 đá cúp c2 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ả dữ liệu mà không cần tạo thêm đối tượng.

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

Postgres_FDWThiết lập kết nối với máy chủ nước ngoài trong truy vấn đầu tiên sử dụng một bảng nước ngoài được liên kết với máy chủ nước ngoài. Kết nối này được giữ và sử dụng lại cho kèo bóng đá cúp c2 truy vấn tiếp theo trong cùng một phiên. Tuy nhiên, nếu nhiều danh tính người dùng (ánh xạ người dùng) được sử dụng để truy cập máy chủ nước ngoài, kết nối được thiết lập cho mỗi ánh xạ người dùng.

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

Trong một truy vấn tham khảo bất kỳ bảng từ xa nào trên kèo bóng đá cúp c2 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 đá cúp c2 điểm lưu được quản lý tương tự bằng cách tạo kèo bóng đá cúp c2 điểm lưu từ xa tương ứng.

Giao dịch từ xa sử dụngserializableMức cách ly khi giao dịch cục bộ có31270_31284Mứ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 đá cúp c2 lần quét. Hậu quả là kèo bóng đá cúp c2 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 đá cúp c2 bản cập nhật đồng thời xảy ra trên máy chủ từ xa do kèo bóng đá cúp c2 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 đá cúp c2 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 từ xa cho cam kết hai pha.

F.33.4. Tối ưu hóa truy vấn từ xa

POSTGRES_FDWcố gắng tối ưu hóa kèo bóng đá cúp c2 truy vấn từ xa để giảm lượng dữ liệu được truyền từ kèo bóng đá cúp c2 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 đá cúp c2 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,WHERE32888_33073Tiện ích mở rộngTùy chọn. Toán tử và chức năng trong kèo bóng đá cúp c2 điều khoản như vậy phải làbất biếnlà 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 kèo bóng đá cúp c2 chủ từ xa nếu không có truy vấnWHERE33492_33594trướchoặcsauTrình kích hoạt hoặc được lưu trữ kèo bóng đá cúp c2 cột được tạo trên bảng đích và khôngTùy chọn kiểm trakèo bóng đá cúp c2 ràng buộc từ kèo bóng đá cúp c2 quan điểm của cha mẹ. TRONGCập nhật33842_33921Immutabletoán tử hoặcbất biếnkèo bóng đá cúp c2 chức năng, để giảm nguy cơ sai lệch của truy vấn.

KhiPOSTGRES_FDWgặp sự tham gia giữa kèo bóng đá cúp c2 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 đá cúp c2 hàng từ mỗi bảng hoặc trừ khi bảng tham chiếu liên quan đến kèo bóng đá cúp c2 bản đồ người dùng khác nhau. Trong khi gửitham giaĐiều khoản, nó có kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 chủ từ xa để 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 từ xa

Trong kèo bóng đá cúp c2 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 đá cúp c2 đố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 đá cúp c2 truy vấn được tạo bởiPOSTGRES_FDWBản thân 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 đá cúp c2 chức năng được thực thi trên máy chủ từ xa thông qua kèo bóng đá cúp c2 kích hoạt hoặc quy tắc trên kèo bóng đá cúp c2 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 đá cúp c2 tên trong kèo bóng đá cúp c2 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 đá cúp c2 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 đá cúp c2 tham số khác nhau:

  • timezoneđược đặt thànhUTC

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

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

  • Extra_float_digitsđược đặt thành3cho kèo bóng đá cúp c2 chủ từ xa 9.0 trở lên và được đặt thành2cho kèo bóng đá cúp c2 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ôngkhuyến nghị bạn sẽ ghi đè hành vi này bằng cách thay đổi cài đặt cấp phiên của kèo bóng đá cúp c2 tham số này; có khả năng gây raPOSTGRES_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 đá cúp c2 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_FDWthường cho rằng kèo bóng đá cúp c2 hàm 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 kèo bóng đá cúp c2 chủ từ xa có thể được gửi đến nó để thực thi, dẫn đếnchức năng không tồn tạihoặc một 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 kèo bóng đá cúp c2 vào một phụ-ChọnvớiOffset 038679_38773Chọn.

F.33.7. Ví dụ

Đây là một ví dụ về việc tạo ra một bảng kèo bóng đá cúp c2 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;

Sau đó tạo một kèo bóng đá cúp c2 chủ nước ngoài bằng cách sử dụngPostgreSQL: Tài kèo. Trong ví dụ này, chúng tôi muốn kết nối vớiPOSTGRESQLkèo bóng đá cúp c2 chủ trên kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 chủ từ xa:

Tạo kèo bóng đá cúp c2 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 đá cúp c2 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 kèo bóng đá cúp c2 chủ từ xa:

Tạo ánh xạ người dùng cho local_user
        kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 vớiPostgreSQL: Tài kèo tỷ. Trong ví dụ này, chúng tôi muốn truy cập bảng có tên40576_40600Trên kèo bóng đá cúp c2 chủ từ xa. 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 đá cúp c2 chủ nước ngoài_server
        Tùy chọn (Schema_name 'Some_Schema', Table_Name 'some_table');

Điều cần thiết là kèo bóng đá cúp c2 loại dữ liệu và kèo bóng đá cúp c2 thuộc tính khác của kèo bóng đá cúp c2 cột được khai báo trongTạo bảng kèo bóng đá cúp c241074_41159Cột_nameTùy chọn cho kèo bóng đá cúp c2 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ụngNhập lược đồ kèo bóng đá cúp c2Tốt hơn là xây dựng kèo bóng đá cúp c2 định nghĩa bàn nước ngoài theo cách thủ công.

F.33.8. Tác giả

Shigeru Hanada