目录
一、环境准备
二、软件安装
三、验证安装
四、添加postgis依赖
五、常见错误处理
一、环境准备
1、官方网站
http://postgresql.org
2、版本链接
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
3、准备文件
Postgresql安装包:postgresql-12.6-1-windows-x64.exe
Postgis安装包:postgis-bundle-pg12x64-setup-3.1.2-1.exe
二、软件安装
安装版本:postgresql-12.6-1-windows-x64
安装路径:D:HadoopPostgreSQLpostgresql-12.6
账户名:postgres 密码:123456
这里安装出现了问题,原因是之前已经安装过了
在安装目录找到 uninstall-postgresql.exe ,点击卸载postgresql
选择第一个为删除整个应用程序和应用程序安装的所有文件,选择第二个为删除单个组件,而保留安装的其余应用程序
三、验证安装
1、查看版本
先进入postgresql安装路径的bin目录,cmd执行
代码语言:javascript复制psql --version
2、初始化数据库
代码语言:javascript复制initdb.exe -D ../data
3、将目录安装者和程序包赋予全部权限
执行命令,启动postgresql
代码语言:javascript复制pg_ctl -D ../data -l ../log start
这里启动遇到了以下错误,因为目录权限的问题
等待服务器进程启动 ....拒绝访问。 已停止等待 pg_ctl: 无法启动服务器进程 检查日志输出.
将pgsql目录给应用程序包和所有用户赋予全部权限
4、启动pgsql
代码语言:javascript复制pg_ctl -D ../data -l ../log start
G:HadoopPostgreSQLPostgreSQL12bin>pg_ctl -D ../data -l ../log start 等待服务器进程启动 .... 完成 服务器进程已经启动
5、查看端口是否启动
cmd查看默认端口5432是否运行(可以回头试试管理员身份运行安装包)
代码语言:javascript复制netstat -ano | findstr 5432
6、登录postgresql
代码语言:javascript复制psql -p 5432 -U postgres
如果出现以下报错是因为安装时没有成功创建用户,需要手动创建
psql: 错误: 致命错误: 角色 "postgres" 不存在
cmd命令行进入安装目录的bin目录下执行以下命令,创建postgres用户
代码语言:javascript复制createuser -s -r postgres
代码语言:javascript复制psql -p 5432 -U postgres
四、添加postgis依赖
1、下载postgis安装包
postgis官网:http://postgis.net/install/
postgis下载:http://download.osgeo.org/postgis/windows/
选择对应版本下载
2、安装postgis
选择创建空间数据库,安装目录必须和postgresql的安装目录一致
之后弹出的提示一直选择yes即可(空间数据库的一些配置)
安装完成之后可看到空间数据库已经添加
3、手动添加空间函数支持
代码语言:javascript复制-- Enable PostGIS (as of 3.0 contains just geometry/geography)
CREATE EXTENSION postgis;
-- enable raster support (for 3 )
CREATE EXTENSION postgis_raster;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- Enable PostGIS Advanced 3D
-- and other geoprocessing algorithms
-- sfcgal not available with all distributions
CREATE EXTENSION postgis_sfcgal;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- rule based standardizer
CREATE EXTENSION address_standardizer;
-- example rule data set
CREATE EXTENSION address_standardizer_data_us;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;
五、常见错误处理
pgsql意外错误导致服务异常关闭
C:Userscom>psql -p 5432 psql: 错误: 无法联接到服务器: Connection refused (0x0000274D/10061) 服务器是否在主机 "localhost"(::1) 上运行并且准备接受在端口 5432 上的 TCP/IP 联接? 无法联接到服务器: Connection refused (0x0000274D/10061) 服务器是否在主机 "localhost"(127.0.0.1) 上运行并且准备接受在端口 5432 上的 TCP/IP 联接?
解决办法:
情况一:如果服务没有被删除可在计算机管理面板直接启动服务
右击我的电脑 ,点击管理或者 Win R键输入 services.msc 打开管理面板
情况二:如果服务已经删除了,需要重新注册服务再重启服务
1、管理员身份运行CMD,重新注册服务
代码语言:javascript复制pg_ctl.exe register -N "postgresql" -D "G:/Hadoop/PostgreSQL/PostgreSQL12/data"
2、启动pgsql服务
代码语言:javascript复制net start postgresql