PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để có chức năng ngoại tuyến hoàn chỉnh trong ứng dụng web với cơ sở dữ liệu PostgreSQL?

Câu trả lời ngắn gọn:Tôi không biết bất cứ điều gì tương tự như thế này hiện đang tồn tại.

Tuy nhiên, về lý thuyết, điều này có thể được thực hiện ... (câu trả lời dài :)

  1. Viết một chương trình phụ trợ PostgreSQL để nâng cấp (một chương trình phụ trợ tồn tại cho MySQL:https://github.com/kesla/mysqldown)
  2. Kết nối máy chủ túi để đọc / ghi từ db PostgreSQL của bạn bằng cách sử dụng bộ điều hợp cấpdb hiện có của túi (bộ điều hợp này sẽ phải được định cấu hình để sử dụng phần phụ trợ postgres của bạn). Xin chúc mừng, bạn hiện có thể đồng bộ hóa dữ liệu bằng PouchDB!

Liệu một cách tiếp cận như thế này có phù hợp thực tế đối với ứng dụng của bạn hay không là một câu hỏi khác mà bạn sẽ phải trả lời.

Bạn có thể tự hỏi, chẳng hạn, "liệu tôi có thể đồng bộ hóa một lược đồ phức tạp hiện có với nhiều bảng với máy khách với cách tiếp cận này không?" Câu trả lời có lẽ là không - việc triển khai mysqldown của leveldown sử dụng một bảng MySQL duy nhất với ba trường:id , khóa keyvalue (nguồn), và tôi tưởng tượng rằng bất kỳ bộ điều hợp PostgreSQL có mục đích chung nào cũng sẽ tương tự (mặc dù không có gì nói rằng bạn không thể tạo bộ điều hợp mục đích đặc biệt cho ứng dụng của mình!).

Mặt khác, nếu bạn triển khai một API tương thích với couchdb (hoặc một tập hợp con - chẳng hạn như bạn có thể không cần tệp đính kèm) trên lược đồ cơ sở dữ liệu hiện có của mình, thì không có gì ngăn cản bạn sử dụng PouchDB trên máy khách để nói chuyện trực tiếp với như thể đó là một CouchDB thực - chỉ cần nhập URL và gọi replicate() ! Việc triển khai giao thức nhân bản có thể là một công việc hợp lý, vì bạn cần theo dõi các bản sửa đổi, v.v. ở đâu đó - nhưng một lần nữa, về mặt kỹ thuật không phải là không thể!

Ngoài ra còn có các triển khai lưu trữ phụ trợ của levelup được thiết kế cho các trình duyệt. Xem level.js, đây có thể là một cách khác để đồng bộ hóa giữa chương trình phụ trợ nâng cấp Postgres phía máy chủ và trình duyệt.

TL; DR :Có rất nhiều công việc đang được thực hiện xung quanh cơ sở dữ liệu Javascript ngay bây giờ. Đồng bộ hóa với Postgres là không thể? chắc là không. Nó sẽ là rất nhiều công việc? Chắc chắn. Giá trị nó? Ai biết được, nhưng sẽ rất tuyệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi Ruby / PgSQL khi khởi động Rails:không thể tải tệp như vậy - pg_ext (LoadError)

  2. Tính toán điểm cách 50 dặm (Bắc, 45% NE, 45% SW)

  3. Thiết lập Django và PostgreSQL trên hai phiên bản EC2 khác nhau

  4. Truy vấn PostgreSQL với Npgsql và Entity Framework bằng cách sử dụng unaccent

  5. Cắt bỏ khoảng trắng ở cuối với PostgreSQL