嗨,我对 PostgresSQL 非常陌生。
我创建了一些表并设法更改表和列,但我似乎无法掌握其中的继承部分。
我一直在为这部分苦苦挣扎。
我创建了一个表,但发现我需要创建一个继承自其他 9 个表的表,并且当其他 9 个表发生更改时,新创建的表也必须进行更改。
我已经尝试了几个步骤,但似乎要么错过了程序的重要部分,要么做错了。
我的步骤如下:
CREATE TABLE data."Test" (
"OID" integer,
"CMAID" integer,
"UpdateDate" timestamp without time zone,
"SG21CODE" character varying(21),
"ErfExtent" integer,
"ZoneBlocked" smallint,
"MunValue" integer,
"MunValueYear" integer,
"PurchasePrice" integer,
"PurchaseDate" timestamp without time zone,
"RegisteredDate" timestamp without time zone,
"ReportedSalePrice" integer,
"ReportedSaleDate" timestamp without time zone,
"BondHolder" character varying(32),
"BondAmount" bigint,
"DateIncluded" timestamp without time zone,
"SchemeNo" money,
geometry geometry(Geometry,3857),
"EUCat" text,
"UseCode" text,
"MUNCODE" text,
"SGUSAGE" text,
"ZoneDesc" text,
"Remainder" text,
"SiteOnly" text,
"RegStatus" text,
"Buyer" text,
"SaleStatus" text,
"SaleType" text,
"TitleDeed" text,
"PostCode" text,
"Address4" text,
"Address3" text,
"Address2" text,
"Address1" text,
"Ratepayer" text,
"OwnerIDNo" text,
"Owner" text,
"Zone" text,
"ErfUsage" text,
"Type" text,
"Suburb" text,
"SubSuburb" text,
"Complex" text,
"StreetName" text,
"Allotment" text,
"StreetNo" text,
"SchemeName" text,
"ErfNo" text,
version integer
);
SELECT *
FROM data."WC",data."NW",data."NC",data."MP",data."LP",data."KZN",data."GP",data."FS",data."EC"
INHERITS ("WC","NW","NC","MP","LP","KZN","GP","FS","EC");
出于某种原因,当我运行它时,它似乎永远在运行,但是当我用一张桌子运行它时,它运行了(花了一点时间)但出现了桌子,尽管当我进入测试表时,里面什么都没有除了已创建的列之外的表。
就像我说的那样,我对 postgreSQL 比较陌生。看看它什么时候进入geoserver然后geoserver只读取测试表而不是所有9个表。但是,如果我需要对主地理服务器表在更改中获取的 9 个表中的任何一个进行更改,并将新更改覆盖旧更改。