Có vẻ như quản trị viên của bạn đã cài đặt cơ sở dữ liệu thành công và cung cấp cho bạn các chi tiết bạn sẽ cần. Họ cũng có thể đã cấu hình PostGIS trong quá trình cài đặt, nhưng nếu không, bạn có thể kiểm tra xem khi bạn thực hiện các bước này.
Trước tiên, hãy yêu cầu quản trị viên của bạn cài đặt pgAdmin, điều này sẽ cho phép bạn truy cập cơ sở dữ liệu PostgreQuery của bạn với giao diện đồ họa.
https://www.pgadmin.org/doad/windows.php
Mở pgAdmin
Nếu PostgreSQL của bạn đã được cài đặt;
- trên máy tính của bạn, nó sẽ hiển thị dưới dạng localhost, bạn sẽ có thể nhấp đúp vào 'PostgreQuery 9.6 (localhost: 5432)' để kết nối với nó.
- Nếu nó đã được cài đặt trên mạng, bạn sẽ cần quản trị viên của mình cho bạn biết địa chỉ máy chủ (nếu bạn chưa có địa chỉ đó), thì bạn sẽ cần truy cập Tệp> Thêm máy chủ và điền vào các trường;
Sau khi kết nối, hãy đi đến Edit > New Object > New Database
Đặt tên cho nó. Nó sẽ xuất hiện trong danh sách máy chủ của bạn.
Nhấp đúp để kết nối với nó. Kiểm tra Extensions
để xem nếu nó liệt kê postgis
.
Nếu không;
Mở cửa sổ SQL bằng cách nhấp vào biểu tượng SQL
và gõ vào
CREATE EXTENSION PostGIS
Nhấn 'Thực hiện truy vấn' - biểu tượng này
Nhấp chuột phải vào cơ sở dữ liệu trong danh sách và ngắt kết nối, sau đó kết nối lại. Phần mở rộng nên đã postgis
được liệt kê.
Bạn có thể thiết lập Vai trò nhóm mới và vai trò đăng nhập tại thời điểm này, có vẻ như bạn sẽ cung cấp các nhu cầu bảo mật và người dùng của bạn trên mạng.
Hoặc nếu bạn chỉ muốn kiểm tra nó, bạn có thể tiếp tục với vai trò mặc định postgres
.
Các nhóm khác nhau có thể được thiết lập để có các quyền khác nhau, ví dụ như quản trị viên và người dùng. Đăng nhập người dùng sau đó có thể được thiết lập và gán cho bất kỳ nhóm nào phù hợp với mức cấp phép bạn muốn cung cấp cho người dùng hoặc bạn có thể cấp quyền truy cập vào tất cả các bảng cho quản trị viên và chỉ một số cho người dùng, v.v. Bạn có thể không cần nhóm quản trị viên.
Mở cửa sổ SQL và thực hiện các truy vấn này;
CREATE ROLE user_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE admin_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT user_group_name TO admin_group_name
GRANT ALL ON DATABASE database_name TO admin_group_name;
Thiết lập thông tin đăng nhập quản trị viên (đăng nhập với tư cách là người đăng bài / siêu người dùng)
CREATE ROLE admin_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT admin_group_name TO admin_name;
Thiết lập thông tin đăng nhập người dùng (đăng nhập với tư cách người đăng / siêu người dùng)
CREATE ROLE user_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT users_group_name TO user_name;
Mở QGIS. Bắt đầu một dự án mới.
Nhấp vào biểu tượng 'Thêm lớp PostGIS' trên thanh công cụ bên trái.
Nhấp vào kết nối 'Mới' và nhập chi tiết kết nối như trên (nếu cơ sở dữ liệu của bạn là cục bộ thì máy chủ chỉ là localhost
).
Bạn có thể kiểm tra kết nối tại thời điểm này. Nếu bạn chọn hộp 'Lưu' theo trường tên người dùng và mật khẩu, nó sẽ lưu thông tin đăng nhập của bạn trong hồ sơ của bạn để bạn không cần phải nhập mỗi lần. Tùy thuộc vào nhu cầu bảo mật của bạn.
Nhấn Ok và đóng cửa sổ 'Thêm bảng PostGIS'
Sau đó chuyển đến Database > DB Manager > DB Manager
(Các phiên bản QGIS gần đây đã cài đặt Trình quản lý DB làm tiêu chuẩn, các phiên bản trước đó bạn sẽ cần cài đặt trình quản lý DB)
Chọn PostGIS. Lược đồ công khai mặc định sẽ được hiển thị. Có vẻ như bạn nên tạo một lược đồ mới thay vì sử dụng lược đồ công khai.
Lược đồ> Tạo lược đồ - Đặt tên ( no_spaces_or_use_underscores
)
Sau khi tạo, bạn có thể kiểm tra bằng cách quay lại pgAdmin, ngắt kết nối, kết nối lại. Các lược đồ mới bây giờ sẽ ở đó.
Quay lại Trình quản lý DB của QGIS để tải lên một shapefile vào một bảng trong cơ sở dữ liệu.
Nhấp vào mũi tên xuống 'Nhập lớp / tệp' duyệt đến shapefile mà bạn muốn nhập. Nhấp vào biểu tượng `...` `để mở trình duyệt.
Đặt tên cho bảng ( again_no_spaces_or_use_underscores
)
Lựa chọn Primary key
Lựa chọn Geometry Column
Chọn SRID
và nhập mã CRS
Để bây giờ để lại mọi thứ khác và OK
.
Nếu đó là một tập dữ liệu lớn, có thể mất một lúc, đặc biệt là qua kết nối mạng / internet
Một lần nữa, bạn có thể quay lại pgAdmin, nhấn refresh lần này và bảng mới sẽ xuất hiện Tables
.
Nếu bạn đã thiết lập vai trò nhóm và người dùng, bạn sẽ cần cấp quyền truy cập vào lược đồ, ví dụ;
GRANT ALL ON SCHEMA schema_name TO admin_group_name;
GRANT USAGE ON SCHEMA schema_name TO user_group_name;
Quay lại QGIS và 'Thêm lớp PostGIS'. Lần này chọn Kết nối. Mở lược đồ và tô sáng bảng và bấm vào 'Thêm' và nó sẽ mở ra trong không gian dự án của bạn.