[Qgis-user] split features tool on postgres layer causes pkey violation
Bernhard Ströbl
bernhard.stroebl at jena.de
Thu Nov 26 07:32:59 PST 2015
Hi,
I cannot confirm this behaviour neither with 2.8 on Win7 nor with 2.10
on Linux. When asking the new features with the "i" tool after
splitting, one keeps its pk value the other displays
nextval("my_sequence"). Maybe the problem is that features have received
pk values by other means then nextval("sequence"), thus the sequence's
current start value is lower than the maximum pk value. To avoid such
confusion I create a BEFORE INSERT or UPDATE trigger for my tables. This
is the trigger function:
CREATE OR REPLACE FUNCTION my_schema.my_table_ensure_sequence()
RETURNS trigger AS
$BODY$
BEGIN
IF (TG_OP = 'INSERT') THEN
NEW.id:= nextval('my_id_seq');
ELSIF (TG_OP = 'UPDATE') THEN
NEW.id := OLD.id;
END IF;
RETURN NEW;
END; $BODY$
LANGUAGE plpgsql VOLATILE
Users cannot manipulate the value of the id field anymore neither when
INSERTing nor when UPDATEing.
Bernhard
Am 25.11.2015 um 20:14 schrieb Janneke van Dijk:
> Dear all,
>
> When using the split features tool in 2.10 and 2.12 on a postgres layer
> (both on windows 7 and windows xp) I receive the following error after
> trying to save the edits:
>
> "
> Could not commit changes to layer a_streets
>
>
> Errors: ERROR: 1 feature(s) not added.
>
> Provider errors:
>
> PostGIS error while adding features: ERROR: duplicate key value violates
> unique constraint "streets_pkey"
>
> DETAIL: Key (streetsid)=(5) already exists.
>
> "
> The a_streets table has a serial primary key.
>
> It seems similar to the bug described here:
> https://hub.qgis.org/issues/5475
> in 1.9 that was apparently fixed 3 years ago.
>
> Is this indeed a bug? Or can the tool not be used on postgres layers?
>
> Thanks for any insights,
>
> Janneke
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: http://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-user
__________ Information from ESET Mail Security, version of virus signature database 12628 (20151126) __________
The message was checked by ESET Mail Security.
http://www.eset.com
More information about the Qgis-user
mailing list