HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/root/usr/share/doc/postgresql-14/examples/autoinc.example
DROP SEQUENCE next_id;
DROP TABLE ids;

CREATE SEQUENCE next_id START -2 MINVALUE -2;

CREATE TABLE ids (
	id		int4,
	idesc		text
);

CREATE TRIGGER ids_nextid
	BEFORE INSERT OR UPDATE ON ids
	FOR EACH ROW
	EXECUTE PROCEDURE autoinc (id, next_id);

INSERT INTO ids VALUES (0, 'first (-2 ?)');
INSERT INTO ids VALUES (null, 'second (-1 ?)');
INSERT INTO ids(idesc) VALUES ('third (1 ?!)');

SELECT * FROM ids;

UPDATE ids SET id = null, idesc = 'first: -2 --> 2'
	WHERE idesc = 'first (-2 ?)';
UPDATE ids SET id = 0, idesc = 'second: -1 --> 3'
	WHERE id = -1;
UPDATE ids SET id = 4, idesc = 'third: 1 --> 4'
	WHERE id = 1;

SELECT * FROM ids;

SELECT 'Wasn''t it 4 ?' as nextval, nextval ('next_id') as value;

insert into ids (idesc) select textcat (idesc, '. Copy.') from ids;

SELECT * FROM ids;