Giao diện
@digiforce-nc/plugin-collection-fdw
Plugin collection qua PostgreSQL FDW — truy cập dữ liệu từ database bên ngoài thông qua cơ chế Foreign Data Wrapper của PostgreSQL.
Plugin này làm gì?
PostgreSQL Foreign Data Wrapper (FDW) cho phép truy vấn dữ liệu từ database bên ngoài (PostgreSQL, MySQL, Oracle...) như thể nó nằm trong database hiện tại. Plugin tận dụng cơ chế này để tạo collection từ foreign table — hiệu quả hơn REST API vì PostgreSQL xử lý query plan và join trực tiếp.
Cơ chế hoạt động
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | PostgreSQL FDW | Sử dụng postgres_fdw native |
| 2 | Cross-DB JOIN | JOIN foreign table với local table |
| 3 | Auto-import schema | Tự động import foreign schema |
| 4 | Write support | Hỗ trợ INSERT/UPDATE/DELETE (nếu FDW cho phép) |
| 5 | Query pushdown | PostgreSQL tự tối ưu, đẩy filter xuống remote |
| 6 | Multi-wrapper | Hỗ trợ postgres_fdw, mysql_fdw, oracle_fdw... |
Cấu hình
| Tham số | Mô tả |
|---|---|
serverName | Tên foreign server |
fdwType | Loại FDW (postgres_fdw, mysql_fdw...) |
host | Địa chỉ database bên ngoài |
port | Cổng kết nối |
database | Tên database |
username | User mapping |
password | Password mapping |
schema | Schema cần import |
Thành phần client
| Thành phần | Mô tả |
|---|---|
FDWConnectionForm | Form cấu hình kết nối FDW |
ForeignSchemaImport | Giao diện import foreign schema |
ForeignTableList | Danh sách foreign tables |
FDWTypeSelector | Chọn loại FDW wrapper |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework |
@digiforce-nc/database | Database abstraction |
@digiforce-nc/client | Client UI framework |
@digiforce-nc/collection-manager | Quản lý collection |
Lưu ý triển khai
- Yêu cầu PostgreSQL làm database chính (FDW là tính năng PostgreSQL)
- Cần cài FDW extension trên PostgreSQL (VD:
CREATE EXTENSION postgres_fdw) - Performance phụ thuộc vào network latency đến remote database
- Superuser hoặc quyền
CREATE FOREIGN TABLEcần thiết