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;
结果正常

技术分享


重新启动数据库服务
  1. sudo service postgresql restart
配置远程连接

1.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。

将行开头都#去掉,将行内容修改为listen_addresses=’*‘来允许数据库服务器监听来自任何主机的连接请求

2.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):

  1. # TYPE DATABASE USER CIDR-ADDRESS METHOD
  2. # "local" is for Unix domain socket connections only
  3. local all all trust
  4. # IPv4 local connections:
  5. host all all 127.0.0.1/32 trust
  6. host all all 192.168.1.0/24 md5
  7. # IPv6 local connections:
  8. 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安装的主要内容,如果未能解决你的问题,请参考以下文章

如何更改安装 postgis 的位置? postgres

如何使用 Homebrew 将 Postgis 安装到 Postgres@9.6 的 Keg 安装中?

当 Postgres 已经具有地理类型时需要 Postgis

postgis经常使用函数介绍

GIS-postgis 安装

用docker部署postgres 10 + postgis 2.4.1