卸载老版本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
时间: 2024-10-02 00:43:17