我们最近在系统中添加了Geodjango和PostGIS。我看到PostGIS将自己安装在public模式中。现在,我们将PostgreSQL模式用于客户端租用,例如,客户端A将具有模式tenant_A,因此我们通常手动设置搜索路径:
SET search_path TO tenant_A;
但是由于PostGIS位于公共模式中,所以我现在必须这样做:
SET search_path TO tenant_A, public;
简单地将PostGIS表--甚至只是geometry_columns表--移动到各个客户机模式中是否有意义呢?这样做的好处是: 1)客户端的GIS数据将有更大程度的分离;
这是在macOS上安装的本地设置,安装了自制的postgresql (12.1)和postgis (3.0.0)。
在一些java集成测试中,我得到了这个错误:
Caused by: org.postgresql.util.PSQLException: ERROR: could not access file "$libdir/postgis-2.5": No such file or directory
因此,尝试更新导致另一个错误的扩展:
# ALTER EXTENSION postgis UPDATE;
ERROR: syntax error at or near
当我尝试使用psql中的h命令时
select PostGIS_full_version();
我知道错误:
ERROR: function postgis_full_version() does not exist
LINE 1: select PostGIS_full_version();
^
HINT: No function matches the given name and argument types.
You might need to add explicit type casts.
我安装了PostGIS 2,yum list postgis*
我正在尝试安装postgis并尝试将其与我的django集成。我在这里遵循教程。上面写着
after connecting to db we need to add geo-extensions:
-- Enable PostGIS (includes raster)
CREATE EXTENSION postgis;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- Enable US Tige
我使用CREATE EXTENSION postgis WITH SCHEMA database创建了postgis扩展。
扩展名存在于扩展名列表(SELECT * FROM pg_extension)中
postgis版本2.5.1。
但是选择PostGis版本(SELECT PostGIS_full_version();)不起作用。
ERROR: function postgis_full_version() does not exist
LINE 1: SELECT PostGIS_full_version();
我使用的是谷歌云。
怎么啦?我该怎么解决它呢?
我想这是一个已知的问题,但是由于我使用了一个删除postgresql-9.4-postgis-2.1的脚本,我现在无法消除Debian下的这个SQL错误。
无法访问文件$libdir/postgis-2.1没有这样的文件或目录
我做了以下工作:
- Remove new unwanted postgresql-9.5-postgis-2.2 package installed
- Reinstalling postgresql-9.4-postgis-2.1, postgresql-9.4-postgis-scripts and postgis
- Using SQL: ALTER E
我尝试使用pgAdmin 4在PostgreSQL11上运行postgis扩展,但在尝试创建扩展时,我得到了以下错误:
Could not access file "$libdir/postgis-3": No such file or directory
我通过以下方式安装postgis
sudo apt-get postgis*
但是包括postgis.control在内的postgis-scripts丢失了,我找不到postgis扩展。
因此我安装了
sudo apt-get install postgresql-11-postgis-3-scripts
现在它显示/us
我有一个安装了postgis的数据库,但它不再工作了: # SELECT PostGIS_full_version();
ERROR: could not access file "$libdir/postgis-2.5": No such file or directory
CONTEXT: SQL statement "SELECT public.postgis_lib_version()"
PL/pgSQL function postgis_full_version() line 26 at SQL statement 我找到了其他建议运行ALTER
更新:我以为我已经解决了,但我没有.请看下面。
我正在Mac上安装GeoDjango。我跟踪了,一切顺利,现在我是。
但是,当我尝试加载PostGIS SQL例程时,我得到了ERROR: could not access file "$libdir/postgis-1.5": No such file or directory:
postgres$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.
我在试图恢复postgres数据库。
此数据库包括postgis数据。但是,在还原sql转储时,我遇到了以下错误:
psql:postgis_db_dump.sql:2174: ERROR: type "public.pgis_abs" does not exist
正在运行的系统已经安装了postgresql-10-postgis-2.4,而我试图将其还原到的新系统也安装了postgresql-11-postgis-2.5
关于旧系统dT \dT给出:
Schema | Name |