Ubuntu下postgre与postgis安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下postgre与postgis安装相关的知识,希望对你有一定的参考价值。
卸载老版本
sudo dpkg --purge postgis postgresql-9.3-postgis
1、安装postgresql $sudo apt-cache search postgresql //查找最新的postgresql包 $sudo gem apt-get install postgresql包名 //选择包名进行安装
2、设置postgres用户密码
sudo passwd postgres 3、登陆postgresql,
$sudo -u postgres psql
4.连接postgresql与postgis(赋予postgresql空间数据库的能力)
$ CREATE EXTENSION postgis;(注意是否是在自己想要数据库下创建)
CREATE EXTENSION
$ CREATE EXTENSION postgis_topology;(支持拓扑)
CREATE EXTENSION
出现错误
postgres=# CREATE EXTENSION postgis; ERROR: could not open extension control file "/usr/share/postgresql/9.3/extension/postgis.control": No such file or directory postgres=# SELECT version();
解决参照:http://gis.stackexchange.com/questions/71302/error-when-trying-to-run-create-extension-postgis
sudo apt-get install postgis*
重新运行
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
结果正常
重新启动数据库服务
sudo service postgresql restart
配置远程连接
1.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。
定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。
将行开头都#去掉,将行内容修改为listen_addresses=’*‘来允许数据库服务器监听来自任何主机的连接请求
2.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):
- # TYPE DATABASE USER CIDR-ADDRESS METHOD
- # "local" is for Unix domain socket connections only
- local all all trust
- # IPv4 local connections:
- host all all 127.0.0.1/32 trust
- host all all 192.168.1.0/24 md5
- # IPv6 local connections:
- host all all ::1/128 trust
其中,第7条是新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。
其中,数字24是子网掩码,表示允许192.168.1.0--192.168.1.255的计算机访问
配置完成后pgAdmin连接,出现错误:
error connecting to server:FATAL:password authentication failed for user postgres
解决办法:
使用sudo -u postgres psql,
sudo -u postgres psql
postgres=# alter role postgres with login password ‘postgres‘;
修改成功会有“ALTER ROLE”提示
再使用pgadmin连接数据库OK
以上是关于Ubuntu下postgre与postgis安装的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Homebrew 将 Postgis 安装到 Postgres@9.6 的 Keg 安装中?