Guten Morgen!
Mal ein Beispiel:
Zuerst bauen wir eine Stammtabelle, dies entspricht deiner GeoDyn-Tabelle:
create table if not exists koordinaten(
id integer,
xcoord numeric,
ycoord numeric,
srid integer)
Jetzt wird eine neue Datenbank erstellt, darin muß als extension der postgres_fdw aktiviert sein, Dann führen wir folgendes aus:
CREATE SERVER demo
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'localhost',port '5432',dbname 'GeoDyn-DB');
ALTER SERVER demo
OWNER TO postgres;
GRANT USAGE ON FOREIGN SERVER demo TO postgres;
GRANT USAGE ON FOREIGN SERVER demo TO "public";
--Hier muß der lokale Nutzer auf einen Nutzer in der Fremddatenbank gemappt werden
create user mapping for postgres server demo options (user 'postgres', password 'xxxxxx');
--Hier können afair auch Aliase für die Felder verwendet werden, näheres im AHndbuch
create foreign table if not exists koordinaten(
id integer,
xcoord numeric,
ycoord numeric,
srid integer)
server demo;
ALTER FOREIGN TABLE koordinaten
OWNER TO postgres;
Und das wars vorerst auch schon, die Namen etc mußt du an deine Umgebung anpassen. Daten, die in der Geodyntabelle eingefügt werden, erscheinen jetzt auch in der anderen Datenbank.
Man kann auch einfach Daten an die Fremdtabelle anfügen:
insert into koordinaten(id, xcoord, ycoord, srid) values(3,2567986, 5567892,31466);
Ein Update überlasse ich dem Kandidaten zur Übung .
Hier stehen also erstmal nur Koordinaten, die in verschiedenen Systemen dargestellt sein können. Diese sollen jedoch in einem einheitlichen Bezug hier UTM32N) dargestellt werden. Dazu benötigen wir einen View:
create or replace view koordinaten_geom as
select id, xcoord, ycoord, srid, st_transform(st_setsrid(st_makepoint(xcoord, ycoord), srid), 25832) as geom
from koordinaten
Diesen können wir jetzt z.B. in QGIS anzeigen.
Soweit erstmal, wie man Daten z.B. über QGIS an den View abfügt probiere ich nach dem Kaffee
Gruß Uwe