这似乎是一个转储问题。但是,我有这个运行PostGIS的遗留数据库(但现在不再存在),并且转储中仍然有许多PostGIS特定代码。像这样的东西:
CREATE TYPE box2d (
INTERNALLENGTH = 65,
INPUT = box2d_in,
OUTPUT = box2d_out,
ALIGNMENT = int4,
STORAGE = plain
);
和
CREATE FUNCTION _st_concavehull(param_inputgeom geometry) RETURNS geometry
LANGUAGE plpgsql IMMUTABLE STRICT
AS $$
DECLARE
vexhull GEOMETRY;
var_resultgeom geometry;
var_inputgeom geometry;
vexring GEOMETRY;
cavering GEOMETRY;
cavept geometry[];
seglength double precision;
var_tempgeom geometry;
scale_factor integer := 1;
i integer;
BEGIN
-- First compute the ConvexHull of the geometry
vexhull := ST_ConvexHull(param_inputgeom);
var_inputgeom := param_inputgeom;
...
(你明白了)。
我没有丢失任何与GIS相关的数据,我不应该这样做。我在倾销和重装方面也很好,但不这样做显然会更好。
由于
答案 0 :(得分:1)
FWIW,因为它似乎不是一个正式的卸载脚本(我很清楚),这是我最后运行的脚本,用于删除由所创建的所有数据类型和函数PostGIS的:
var hub = $.connection.hub,
serverEventsHub = $.connection.serverEventsHub,
server = serverEventsHub.server,
client = serverEventsHub.client;
hub.disconnected(function () {
window.setTimeout(function () {
hub.start();
}, 5000);
});
hub.start();
答案 1 :(得分:0)
发现更多:
DROP FUNCTION IF EXISTS box3d_extent_in(cstring) CASCADE;
DROP FUNCTION IF EXISTS box3d_extent_out(box3d_extent) CASCADE;
DROP FUNCTION IF EXISTS chip_in(cstring) CASCADE;
DROP FUNCTION IF EXISTS chip_out(chip) CASCADE;
DROP FUNCTION IF EXISTS compression(chip) CASCADE;
DROP FUNCTION IF EXISTS datatype(chip) CASCADE;
DROP FUNCTION IF EXISTS factor(chip) CASCADE;
DROP FUNCTION IF EXISTS geography_gist_join_selectivity(internal, oid, internal, smallint) CASCADE;
DROP FUNCTION IF EXISTS geography_gist_selectivity(internal, oid, internal, integer) CASCADE;
DROP FUNCTION IF EXISTS geography_typmod_dims(integer) CASCADE;
DROP FUNCTION IF EXISTS geography_typmod_srid(integer) CASCADE;
DROP FUNCTION IF EXISTS geography_typmod_type(integer) CASCADE;
DROP FUNCTION IF EXISTS geometry_gist_joinsel(internal, oid, internal, smallint) CASCADE;
DROP FUNCTION IF EXISTS geometry_gist_sel(internal, oid, internal, integer) CASCADE;
DROP FUNCTION IF EXISTS height(chip) CASCADE;
DROP FUNCTION IF EXISTS lwgeom_gist_compress(internal) CASCADE;
DROP FUNCTION IF EXISTS lwgeom_gist_decompress(internal) CASCADE;
DROP FUNCTION IF EXISTS lwgeom_gist_penalty(internal, internal, internal) CASCADE;
DROP FUNCTION IF EXISTS lwgeom_gist_picksplit(internal, internal) CASCADE;
DROP FUNCTION IF EXISTS lwgeom_gist_union(bytea, internal) CASCADE;
DROP FUNCTION IF EXISTS postgis_gist_joinsel(internal, oid, internal, smallint) CASCADE;
DROP FUNCTION IF EXISTS postgis_gist_sel(internal, oid, internal, integer) CASCADE;
DROP FUNCTION IF EXISTS postgis_uses_stats() CASCADE;
DROP FUNCTION IF EXISTS setfactor(chip, real) CASCADE;
DROP FUNCTION IF EXISTS setsrid(chip, integer) CASCADE;
DROP FUNCTION IF EXISTS srid(chip) CASCADE;
DROP FUNCTION IF EXISTS st_chip_in(cstring) CASCADE;
DROP FUNCTION IF EXISTS st_chip_out(chip) CASCADE;
DROP FUNCTION IF EXISTS st_compression(chip) CASCADE;
DROP FUNCTION IF EXISTS st_datatype(chip) CASCADE;
DROP FUNCTION IF EXISTS st_factor(chip) CASCADE;
DROP FUNCTION IF EXISTS st_geometry_analyze(internal) CASCADE;
DROP FUNCTION IF EXISTS st_height(chip) CASCADE;
DROP FUNCTION IF EXISTS st_postgis_gist_joinsel(internal, oid, internal, smallint) CASCADE;
DROP FUNCTION IF EXISTS st_postgis_gist_sel(internal, oid, internal, integer) CASCADE;
DROP FUNCTION IF EXISTS st_setfactor(chip, real) CASCADE;
DROP FUNCTION IF EXISTS st_srid(chip) CASCADE;
DROP FUNCTION IF EXISTS st_width(chip) CASCADE;
DROP FUNCTION IF EXISTS width(chip) CASCADE;
DROP VIEW IF EXISTS geography_columns CASCADE;
DROP TABLE IF EXISTS geometry_columns CASCADE;
此外,以下内容已被注释掉:
sed -i 's/^CREATE PROCEDURAL LANGUAGE plpgsql;/-- CREATE PROCEDURAL LANGUAGE plpgsql;/g' db.sql