的一些PostGIS打包发行版(特别是PostGIS> = 1.1.5的Win32
安装程序)将PostGIS函数加载到
模板中名为template_postgis的数据库。如果您的PostgreSQL安装中存在template_postgis
数据库,则用户和/或应用程序可以使用单个命令来创建具有空间功能的数据库。
在我看来,情况并非如此:
$ createdb -T template_postgis my_spatial_db
createdb: database creation failed: ERROR: template database "template_postgis" does not exist
过去,我一直在复制主
gis
数据库,然后删除其中的内容所有的桌子。肯定有更好的办法。如果不小心掉了怎么办?#1 楼
我不知道您使用的是哪个版本的PostGIS
,但是在> 2.0
上,我首先使用psql
登录:psql -U postgres
然后我创建数据库:
CREATE DATABASE example_gis;
然后我进入这个数据库:
\connect example_gis;
然后我运行命令:
CREATE EXTENSION postgis;
这将在此数据库中创建所有空间函数和对象类型。
评论
在我的系统上,我需要编写所有大写的CREATE EXTENSION POSTGIS,而不是CREATE EXTENSION postgis。
– SIslam
16/12/20在8:35
#2 楼
遵循@novicegis的链接,这对我来说适用于postgis 1.5:db=gis
sudo -su postgres <<EOF
createdb --encoding=UTF8 --owner=ubuntu $db
psql -d $db -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d $db -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
psql -d $db -f /usr/share/postgresql/9.1/contrib/postgis_comments.sql
psql -d $db -c "GRANT SELECT ON spatial_ref_sys TO PUBLIC;"
psql -d $db -c "GRANT ALL ON geometry_columns TO ubuntu;"
psql -d $db -c 'create extension hstore;'
EOF
(链接的说明中未包含“ hstore”扩展名。)
#3 楼
您应该在控制台中创建“ template_postgis”。所有错误均显示在控制台中。如果要执行以下操作,可以使用此说明:http://linfiniti.com/2012/05/installing-postgis-2-0-on-ubuntu/创建“ template_postgis”。
例如,我这样做:
//install postgis
su oleg
sudo apt-add-repository ppa:sharpie/for-science
sudo apt-add-repository ppa:sharpie/postgis-nightly
sudo apt-get update
sudo apt-get install postgresql-9.1-postgis
// create template
sudo su
su postgres
createdb -E UTF8 template_postgis2
createlang -d template_postgis2 plpgsql
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis2'"
psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis.sql
psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.1/rtpostgis.sql
psql -d template_postgis2 -c "GRANT ALL ON geometry_columns TO PUBLIC;"
psql -d template_postgis2 -c "GRANT ALL ON geography_columns TO PUBLIC;"
psql -d template_postgis2 -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
createdb osm -T template_postgis2
我在安装有错误的Postgis时收到了此消息
评论
除没有“ rtpostgis.sql”文件外,所有这些都可用于postgis 1.5。那很重要么?
–史蒂夫·贝内特(Steve Bennett)
13年9月12日在22:59
我认为,postgis 1.5是最好的方法。链接-官方文档
–novicegis
2013年9月13日在6:52
评论
参见gis.stackexchange.com/questions/19432/…