1、安装环境
操作系统:WINDOWS
pg:15.1
postgis:3.4.0
2、获取安装包
到官网下载所需要的对应安装包,官网地址:
PostgreSQL:https://www.postgresql.org/download/windows/
PostGIS:https://www.postgresql.org/ftp/postgis/
如下图(若需要文档中的特定版本,请在评论区留言,我会尽快提供。)
3、PostgreSQL安装
1)双击下载好的PostgreSQL应用程序,点击next
2)修改安装路径,可修改盘符 ,然后点击next。
不要直接安装C盘中,可能会由于权限问题导致一系列问题,建议直接修改盘符。
3)直接点击next进行下一步即可(或者选择自己想要的,pgAdmin 4是可视化工具)
4)不用修改Data Directory数据目录,点击next
5)初始化PostgreSql系统管理员的密码,确保唯一的系统管理员有密码值。后续使用postgreSQL时,需要登录系统默认的管理员账号(postgres)。点击next
6)使用默认端口:5432,点击next(如果不想使用默认,可自行更改端口号)
7)选择Default 或者C 都可以,点击next
8)直接点击next
9)点击next,等待安装
10)点击finish,即可安装完毕
4、 pgAdmin的基本使用
4.1数据库连接以及使用
4.1.1连接数据库
1)打开pgAdmin 4
2)输入原先设置的登录密码
3)填写登录信息
在General中填写NAME、然后点击Connection,再填写Host name、以及Password,填写完成后点击Save就可以进行连接。
4)登录成功
4.1.2创建用户
1)选择“登陆/组 角色”,右键创建
2)设置角色名
在General选项卡中,设置角色名称和备注
3)设置密码
切换至Definition选项卡,设置登录密码
默认Account expires参数为“No Expiry”,即账户过期时间设为“不过期”。
默认Connection Limit参数为-1,意即允许无限连接
4)设置权限
切换至Privileges选项卡,按需设置角色权限。
- 权限参数从上至下分别控制创建的角色是否:
- Can login?:具有login属性的角色才能连接数据库。具有 login 角色的用户可以被看作一个"数据库用户"
- Superuser?:超级用户可以避开所有的权限检查,只验证登录权限。因此,这是一个很危险的特权,使用时需要特别小心;最好在日常的操作中避免使用超级用户。只有超级用户才能创建其他的超级用户。
- Create roles?:允许创建角色(包括编辑或删除角色),只有明确授权的角色才能够创建角色(超级用户除外)。只有超级用户可以针对其他超级用户的角色进行的创建、修改、删除,及其成员变更。
- Create databases?:允许创建数据库,只有明确授权的角色才能够创建数据库(超级用户除外)
- Inherit rights from the parent roles?:允许从父角色继承权限
- Can initiate streaming replication and backups?:允许启动流复制和备份模式,只有明确授权的角色才能够启动流复制(超级用户除外)。用于流复制的角色还需要拥有login权限。
- Bypass RLS?:允许角色可以绕过每个行级安全性 (RLS) 策略
一般来说,只需要给予Can login和Create databases
5)保存设置
设置结束后点击选项卡右下角的“Save”,保存成功后,可在左侧目录里看到新创建的用户
4.1.3创建表空间
1)选择“表空间”,右键创建
2)在General选项卡中,设置表空间的名称并选择所有者
3)在pg数据库安装目录下data文件夹中,创建与表空间同名的文件夹,并复制该文件夹完整路径
4)在Definition选项卡中,设置表空间地址(粘贴刚刚复制的文件夹路径)
5)保存设置
设置结束后点击选项卡右下角的“Save”,保存成功后,可在左侧目录里看到新创建的表空间
4.1.4创建数据库
1)选择“数据库”,右键创建
2)在General选项卡中,设置数据库的名称并选择所有者
- 数据库所有者须为超级用户或具有 Create databases权限
3)切换至Definition选项卡表空间等其他信息(一般只设置表空间即可)
- Tablespace指定刚刚创建的test_admin表空间
- 默认Connection Limit参数为-1,意即数据库不会有连接限制
4)保存设置
配置完成后点击选项卡右下角的Save以保存数据库。保存成功后可在左侧目录里看到新创建的数据库
4.1.5导出数据库数据
1)先对要导出的数据库右键,然后选择其中的Backup
2)填写导出路径,然后点击Backup即可导出
4.1.6导入数据
1)选择需导入的数据库,右键并点击Restore
2)其次选择找到需导入的文件路径,并选择文件
5、图形库的安装与使用
5.1安装图形库扩展库
1)双击打开postgis安装包程序
2)点击 "I agree"
3)默认选项即可,点击"Next"
4)修改安装路径,路径修改到PG数据库安装路径下,点击"Next"
5)然后点击"Close",完成安装
5.2创建图形库
1)确保用户拥有超级管理员权限 即赋予用户:Superuser
使用带有超级管理员权限的用户添加扩展,然后会有一张SRID表
CREATE EXTENSION IF NOT EXISTS plpgsql;
CREATE EXTENSION postgis;
2)新增SRID数据
若当前需导入的图形数据中SRID并不存在上述的表中,则需添加对应的SRID数据
如:上海2000坐标系,SRID:300002
spatial_ref_sy表结构介绍:
srid(integer):空间参考系统的唯一标识(EPSG 代码)。
auth_name(text):坐标系的认证机构名称,如 EPSG。
auth_srid(integer):认证机构的 SRID 编号,一般与 srid 相同。
srtext(text):空间参考系统的 WKT(Well-Known Text)表示。
proj4text(text):空间参考系统的 PROJ.4 字符串表示。
注意:
- 新增前需确认srid是否存在,以免重复插入
- sird和auth_srid通常字段值相同,就填写本次需新增的srid值
- auth_name根据实际情况填写EPSG或者ESPI
- srtext根据业务人员给的prj文件中的内容如实填写即可
- proj4text字段可为null
5.3创建图形表
1)使用sql创建图形表
改造属性表创建sql,图像表中图形字段名必为geom
打开Pgadmin4或者Navicat,粘贴刚复制的语句,并且在索引初添加"USING gist"
2)执行sql
运行该条语句,就完成了图形表的创建了
5.4外部图形数据的导入
1)将外部图形数据(存放在.mdb或者.gdb中)通过Arcmap或者Arcgis Pro打开,然后将其转换为.shp文件
- 使用Arcgis Pro打开gdb,然后选中要导出的表,然后右键,点击导出,选择要素类至Shapefile
- 选择导出的文件路径以及文件名
- 点击运行,运行结束,查询文件
2)打开postGIS
3)点击View connection details 进行连接数据库、输入数据库用户、密码、ip、端口号以及需连接的数据库,然后点击ok进行连接
4)点击Add File,找到转为shp的数据文件
5)选择刚刚导出文件,然后双击它
6)根据实际情况,修改表名、SRID等,然后点击Import进行导入到数据库中,此时导入的是对应图形表的临时表,所以表名加个尾缀"new"。此处的SRID必须是在spatial_ref_sy表中存在的
7)查看数据库表