こんにちは、私は 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");
何らかの理由でそれを実行すると、それは永遠に実行されるように見えますが、1 つのテーブルでそれを試してみると実行されました (少し時間がかかりました) が、テーブルが表示されましたが、テストのテーブルに入ったときは作成された列を除くテーブル。
私が言ったように、私はpostgreSQLに比較的慣れていません。geoserver に入ると、geoserver はテストテーブルのみを読み取り、9 つのテーブルすべてを読み取るわけではありません。しかし、メインの geoserver テーブルが変更を取得し、新しい変更を古いものに上書きする 9 つのテーブルのいずれかを変更する必要がある場合。