[postgis-users] AddGeometryCOlumn error on View
Piotr Synowiec
psynowiec at gmail.com
Fri May 29 10:21:01 PDT 2009
Fred
thanks for help
Fred Lehodey wrote:
> you can try:
>
> 1)
> CREATE SEQUENCE my_seq START 1
>
> 2)
> CREATE VIEW my_view AS
> SELECT nextval('my_seq'), otherfield, ...
> FROM mytable1, mytable2
it worked :)
CREATE SEQUENCE final_sps_elevation_seq START 1;
CREATE OR REPLACE VIEW "final_sps_elevation" (
id,
geom_field,
elevation)
AS
SELECT nextval('final_sps_elevation_seq') AS id, geom_field, elevation
FROM final_sps_s UNION ALL
SELECT nextval('final_sps_elevation_seq') AS id, geom_field,elevation
FROM final_sps_r;
But QGIS still complains :(
The view 'public.final_sps_elevation' has no column suitable for use as
a unique key.
Qgis requires that the view has a column that can be used as a unique
key. Such a column should be derived from a table column of type int4
and be a primary key, have a unique constraint on it, or be a PostgreSQL
oid column. To improve performance the column should also be indexed.
The view you selected has the following columns, none of which satisfy
the above conditions:
'elevation' derives from 'public.final_sps_r.elevation' and is not
suitable (type is float4 and does not have a suitable constraint)
'geom_field' derives from 'public.final_sps_r.geom_field' and is not
suitable (type is geometry and does not have a suitable constraint)
I tried to create INDEX on VIEW but this failed.
I wonder if there is any other way to create VIEW so it can be visible
in QGIS.
It is just academic as I'm using mainly Manifold.
Regards
Piotr
More information about the postgis-users
mailing list