Tôi chỉ cần làm điều này chính xác vì vậy tôi nghĩ rằng tôi sẽ đăng công thức ở đây. Điều này giả định rằng cả hai cơ sở dữ liệu đều nằm trên cùng một máy chủ.
Đầu tiên, sao chép bảng từ db cũ sang db mới. Tại dòng lệnh:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
Tiếp theo, cấp quyền của bảng đã sao chép cho người dùng cơ sở dữ liệu mới. Đăng nhập vào psql:
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
Tại thời điểm này, bảng đã sao chép của bạn trong cơ sở dữ liệu mới vẫn có tên <old_table>
từ cơ sở dữ liệu cũ của bạn. Giả sử bạn muốn di chuyển dữ liệu đến một nơi khác, hãy nói với <new_table>
, bạn chỉ có thể sử dụng các truy vấn SQL thông thường:
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
Đã xong!