目录

一、环境准备

二、软件安装

三、验证安装

四、添加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:\Hadoop\PostgreSQL\postgresql-12.6

账户名:postgres    密码:123456

win10安装PostgreSQL12.6_服务器win10安装PostgreSQL12.6_安装包_02

win10安装PostgreSQL12.6_服务器_03

这里安装出现了问题,原因是之前已经安装过了

win10安装PostgreSQL12.6_安装包_04

在安装目录找到 uninstall-postgresql.exe ,点击卸载postgresql

win10安装PostgreSQL12.6_服务器_05

选择第一个为删除整个应用程序和应用程序安装的所有文件,选择第二个为删除单个组件,而保留安装的其余应用程序

win10安装PostgreSQL12.6_安装包_06

三、验证安装

1、查看版本

先进入postgresql安装路径的bin目录,cmd执行

psql --version

 win10安装PostgreSQL12.6_sed_07

2、初始化数据库

initdb.exe -D ../data

win10安装PostgreSQL12.6_安装包_08

3、将目录安装者和程序包赋予全部权限

执行命令,启动postgresql

pg_ctl -D ../data -l ../log start

这里启动遇到了以下错误,因为目录权限的问题

等待服务器进程启动 ....拒绝访问。
 已停止等待
pg_ctl: 无法启动服务器进程
检查日志输出.

将pgsql目录给应用程序包和所有用户赋予全部权限

win10安装PostgreSQL12.6_sed_09

4、启动pgsql

pg_ctl -D ../data -l ../log start

G:\Hadoop\PostgreSQL\PostgreSQL12\bin>pg_ctl -D ../data -l ../log start
等待服务器进程启动 .... 完成
服务器进程已经启动 

5、查看端口是否启动

cmd查看默认端口5432是否运行(可以回头试试管理员身份运行安装包)

netstat -ano | findstr 5432

win10安装PostgreSQL12.6_服务器_10

6、登录postgresql

psql -p 5432 -U postgres

如果出现以下报错是因为安装时没有成功创建用户,需要手动创建

psql: 错误: 致命错误:  角色 "postgres" 不存在

cmd命令行进入安装目录的bin目录下执行以下命令,创建postgres用户

createuser -s -r postgres
psql -p 5432 -U postgres

四、添加postgis依赖

1、下载postgis安装包

postgis官网:http://postgis.net/install/

postgis下载:http://download.osgeo.org/postgis/windows/

选择对应版本下载

win10安装PostgreSQL12.6_postgresql_11

2、安装postgis

选择创建空间数据库,安装目录必须和postgresql的安装目录一致

之后弹出的提示一直选择yes即可(空间数据库的一些配置)

win10安装PostgreSQL12.6_sed_12

win10安装PostgreSQL12.6_服务器_13

win10安装PostgreSQL12.6_安装包_14

安装完成之后可看到空间数据库已经添加 

win10安装PostgreSQL12.6_sed_15

3、手动添加空间函数支持

-- 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;

win10安装PostgreSQL12.6_服务器_16

五、常见错误处理

pgsql意外错误导致服务异常关闭

C:\Users\com>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 联接?

win10安装PostgreSQL12.6_sql_17解决办法:

情况一:如果服务没有被删除可在计算机管理面板直接启动服务

右击我的电脑 ,点击管理或者 Win+R键输入 services.msc 打开管理面板

win10安装PostgreSQL12.6_sql_18

情况二:如果服务已经删除了,需要重新注册服务再重启服务

1、管理员身份运行CMD,重新注册服务

pg_ctl.exe register -N "postgresql" -D "G:/Hadoop/PostgreSQL/PostgreSQL12/data" 

2、启动pgsql服务

net start postgresql

win10安装PostgreSQL12.6_sed_19