在 psql 中设置一下密码――需要注意的是,这里设置的密码并不是 postgres 系统帐户的密码,而是在数据库中的用户密码:
1 |
|
然后按照提示输入密码就好。
从源码安装 PostGIS
如果选择了从源码安装 PostgreSQL 的话,那么首先需要判断你安装的 PostgreSQL 是什么版本
然后,再到 PostGIS 的网页上去查其对应的是 PostGIS 的哪个版本。
最后,按照 PostGIS 的版本去下载对应的 source
最后的导入很麻烦,笔者就是卡在这一步,所以才最终放弃从源码安装的……
导入 PostGIS 扩展
根据 postgresql 和 postgis 的版本不同,路径会有些差异,主要是路径中包含版本信息:
1 2 3 4 5 |
|
上面的操作中,创建了一个叫做 “template_postgis” 的空数据库。这个数据库是空的,并且属于 postgres 用户。注意,不要往这个数据库中添加数据,这个数据库之所以称为 “模板”(template),就说明它是用来派生用的。
相应的 PostGIS 路径可能不同,如果失败,就在上面的路径附近多尝试一下,找几个 .sql 文件试试看。
转换 .shp 文件到 PostGIS 数据库中
转换 .shp 到 .sql 文件
首先找到需要转换的文件,假设需要转换的 .shp 文件是:/tmp/demo.shp,那么就做以下操作:
1 2 3 |
|
这里需要说明一下最后一句各部分所代表的含义:
-W GBK:如果你的 .shp 文件包含中文字符,那么请加上这个选项
-s 3857:指明文件的参考坐标系统。我的 .shp 文件使用的是 EPSG:3857
./demo.shp:.shp 文件的路径
entry:表示要导入的数据库表名――假设这个 .shp 文件表示的是各个入口,所以我命名为 “entry”
demo.sql
得到了 .sql 文件后,就可以直接导入到 PostgreSQL 数据库了。
创建一个 PostGIS 数据库
这里就需要用到前面的 template 了。
1 2 3 |
|
newdb: 新的数据库名
originaldb:也就是前面的 template_postgis
dbuser:你的账户名,我一般使用 postgres
导入 .sql 文件
1 2 3 4 5 |
|
可以看到,.sql 文件已经被导入了。
设置数据库权限
OK,现在我们在本机(服务器 IP 假设是 192.168.1.111)用以下命令登录 psql,会发现一段输出:
1 2 3 4 |
|
这是因为 PostgreSQL 默认不对外开放权限,只对监听环回地址。要修改的话,需要找到 postgresql.conf 文件,修改值 listen_addresses:
1 |
|
相关推荐:
Python连接PostgreSQL数据库的方法
PHP连接不上PostgreSQL的问题
PHP 读取Postgresql中的数组_PHP教程
以上就是Linux中PostgreSQL和PostGIS的安装和使用方法的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《PostgreSQL》频道 >>