Bạn không thể truy cập trực tiếp vào các bảng trong một cơ sở dữ liệu khác như bạn có thể làm trong MySQL (một cơ sở dữ liệu MySQL tương ứng với một lược đồ PostgreSQL ).
Vì vậy, có thể bạn có thể đạt được những gì bạn muốn bằng cách sử dụng các lược đồ khác nhau trong một cơ sở dữ liệu duy nhất.
Nếu bạn thực sự cần cập nhật một bảng trong một cơ sở dữ liệu khác, bạn sẽ phải sử dụng trình bao bọc dữ liệu ngoại lai postgres_fdw để truy cập bảng ngoại.
Bạn sẽ phải xác định một bảng ngoại - hãy gọi nó là foreign_employee
- trong cơ sở dữ liệu db1
trỏ đến một bảng trong db2
.
Sau đó, bạn có thể làm điều đó như vậy:
INSERT INTO foreign_employee
SELECT e.*
FROM employee e
JOIN archived a USING id
LIMIT 2;
Lưu ý rằng LIMIT
hơi lạ ở đây, vì không có thứ tự ngầm định nào trong kết quả truy vấn trừ khi bạn buộc một thứ tự bằng ORDER BY
.