PostGreSQL和PostGIS安装与安装中所遇到问题

近期工作中需要用到PostGreSQL和PostGis,前者软件,后者类似一个插件,各种报错和各种查看文档,花了一天半事件。在安装过程中也遇到各种各样问题,具体安装步骤与所遇到问题如下:

1、软件下载

PostGreSQL

(1)压缩包格式:https://www.enterprisedb.com/download-postgresql-binaries

选择对应版本进行下载,本文所用9.6.18

(2)exe格式:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

选中对应版本进行下载

PostGis

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

可下载.zip格式和.exe格式

 

2、软件安装

2.1 PostGreSQL安装

(1)exe一键安装

由于本机一点击.exe直接报错,错误如下,于是选择第二种

目前尚未解决,若未遇到这种情况,可根据https://www.runoob.com/postgresql/windows-install-postgresql.html

网址介绍进行安装。

 

(2)通过源文件安装

首页将压缩包解压到没有中文没有空格目录下,本问解压到E:\PostgreSQL中,并在该目录下新建data文件夹,为了方便,将data文件夹右键属性->安全中将该文件设置为全完全控制,若有重要数据或权限分明,自行设置

然后以管理员身份打开cmd,进入解压后的bin目录下

 

initdb.exe -D ..\data -E UTF8 --locale=Chinese

输入上述指令出现下面错误

进过我多次尝试与上网搜索,发现是locale设置问题

解决方法如下

initdb.exe -D ..\data  --no-locale

 

至此PostgreSQL安装完成,但未设置账号密码,以下是设置账号,这样可以通过Navicat远程访问以及注册为window服务

#注册为window服务,服务名为pgsql
pg_ctl.exe register -D ..\data -Npgsql


#启动服务
net satrt pgsql


#关闭服务
net stop pgsql


设置账号,数据库密码等

#先以默认账号进入
psql postgres

#创建用户,并设置密码
create user postgres with password '123456';

#创建数据库,并将所有权赋给postgres
create database test owner postgres;
grant all privileges on database test to postgres;

#赋予角色创建权限
 ALTER ROLE postgres CREATEROLE SUPERUSER;

#将默认建表设置为utf-8,不然后面安装postgis报错
UPDATE pg_database SET datistemplate=FALSE WHERE datname='template1';
DROP DATABASE template1;
CREATE DATABASE template1 WITH owner=postgres template=template0 encoding='UTF8';
UPDATE pg_database SET datistemplate=TRUE WHERE datname='template1';

 效果如下图

设置完成后即可直接用Navicat连接(本地),如果是外网,需部署到服务器上

 

 

PostGis

(1)exe一键安装

所需注意事项:所安装位置需要是你PostgreSQL所在bin目录一个位置

若出现:permission denied to create database

用户权限不够,在postgresql里面赋予之前所创用户创建表的权限

 ALTER ROLE postgres CREATEROLE SUPERUSER;

 

若出现:OGR FDW only works with UTF-8 databases

解决方案:将默认建表设置为utf8格式,上文代码有提到

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值