Chỉnh sửa phiên bản cho Postgresql 9.2.4 / postGIS 2


8

Bối cảnh: Tôi đang "xây dựng" một hệ thống GIS với PostgreSQL 9.2.4 / PostGIS 2 làm cơ sở dữ liệu và QGIS 1.8.0 làm ứng dụng địa lý. Sẽ có nhiều người dùng truy cập, chỉnh sửa và xem dữ liệu cùng một lúc.

Câu hỏi:

  1. Chỉnh sửa phiên bản có được thực thi tự động trong PostgreSQL 9.2.4 / PostGIS 2 không?
  2. Có thể kích hoạt / thi hành chỉnh sửa phiên bản không và nếu có thì thế nào?

Tôi đã xem qua pgVersion cho PostgreSQL 9.2.4 / PostGIS 2 và plugin pgVersion của QGIS. Tuy nhiên, nếu tôi hiểu chính xác (đọc các tệp trợ giúp và kiểm tra nó), pgVersion chỉ cho phép chỉnh sửa các giá trị ô của các cột hiện có và cũng không thể thêm các tính năng địa lý mới.


PostgreSQL sử dụng Slony để sao chép ... Tôi chưa thử, nó cũng nên áp dụng cho các tính năng của PostGIS ...
DPSSpatial 23/07/13

3
Bạn có muốn hỗ trợ chỉnh sửa phiên bản với một cái gì đó tương tự như phiên bản ESRI hoặc chỉ cần có nhiều trình soạn thảo chỉnh sửa cùng một db? Cái sau chỉ hoạt động, cái trước đòi hỏi cơ sở hạ tầng vẫn còn trong các công trình trong lĩnh vực nguồn mở. Bản thân tôi đã viết một hệ thống phiên bản trên đầu trang cho công việc của chúng tôi trong AmigoCloud. Gần nhất bạn có được một cái gì đó tương tự là GeoGit, nhưng nó có nhược điểm của nó đối với các quy trình công việc nhất định.
Ragi Yaser Burhum

Tôi thích phiên bản tương tự như phiên bản ESRI. Tuy nhiên, cơ sở dữ liệu của tôi sẽ chỉ là một nguyên mẫu, vì vậy bây giờ chỉ cần có nhiều trình soạn thảo chỉnh sửa cùng một cơ sở dữ liệu là đủ. Cũng sẽ có một cái nhìn tại GeoGit.
PyMapr

Tôi tự hỏi nếu @PaulRamsey có bất cứ điều gì họ có thể kêu gọi về chủ đề này?
RyanKDalton

Hoặc có thể @ LR1234567 có thể có một số ý tưởng?
RyanKDalton

Câu trả lời:


1

, có vẻ như PostgreSQL / PostGIS cho phép nhiều người dùng tự động chỉnh sửa và xem cùng một dữ liệu, cho dù nó được xem hoặc chỉnh sửa trong PostgreQuery / PostGIS hoặc QGIS. Tuy nhiên, nếu không được quản lý đúng cách, rõ ràng, có thể dẫn đến các tính năng chồng chéo và / hoặc hỏng.

Dưới đây là các liên kết mà tôi đưa ra kết luận của mình:

Xin lưu ý rằng câu hỏi và câu trả lời trong các liên kết trên đã được hỏi / trả lời khoảng 5 năm trước, có nghĩa là chúng trỏ đến các phiên bản chương trình trước đó. Tuy nhiên, tôi không thể tưởng tượng các phiên bản mới hơn của PostgreSQL / PostGIS không hỗ trợ chỉnh sửa nhiều người dùng (thậm chí có thể đã được nâng cao).

Cập nhật: Đối với những người sử dụng QGIS 1.8.0, trong tab 'Bảng' trong Trình quản lý DB có tùy chọn Phiên bản. Tuy nhiên, tôi liên tục nhận được một lỗi nói rằng "ngôn ngữ" SQL "không tồn tại.". Bất kỳ đề xuất về cách bỏ qua hoặc sửa lỗi này? Có ai khác có cùng một vấn đề / lỗi?


1

Chắc chắn là có, bạn có thể thực hiện phiên bản bằng cách sử dụng các kích hoạt http://www.postgresql.org/docs/9.1/static/triggers.html trên các bảng địa lý.

Tôi sử dụng phương pháp này để lưu dữ liệu tạm thời để tôi có thể đưa ra các truy vấn sẽ tạo ảnh chụp nhanh các bản ghi tại thời điểm nhất định.

  1. Chỉnh sửa phiên bản không được thực thi bởi những gì tôi biết.

  2. Vâng, điều này có thể được hỗ trợ. Sẽ có một số phản hồi dựa trên nhu cầu của người dùng. Bạn có thể sử dụng http://www.pgadmin.org/docs/1.16/pgagent.html và lên lịch công việc để sao chép dữ liệu trực tiếp vào bảng được phiên bản trên cửa sổ hàng ngày như một ví dụ đơn giản.

Hoặc bạn có thể sử dụng một bảng bóng ghi lại các chỉnh sửa của các bản ghi khi những sự kiện đó xảy ra.

Postgresql có tất cả các tài nguyên bạn cần để làm điều đó nhưng bạn sẽ cần các kỹ năng với ngôn ngữ SQL.


1

Nếu bạn đang sử dụng Qgis, có một plugin để tạo phiên bản bằng cơ sở dữ liệu postgres https://plugins.qgis.org/plugins/FastVersion/ Plugin cũng cho phép quản trị quyền của người dùng trên các phiên bản. Bạn có thể đặt một người dùng cho mỗi phiên bản và sau đó hợp nhất các thay đổi chỉ trong một phiên bản, với chức năng đăng bài.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.