serial, bigserial Postgres

По умолчанию при использовании типов serial, bigserial СУБД Postgres создает последовательность (sequence), которая именуется как:

<имя_схемы>.<имя_таблицы>_<имя_столбца>_seq

Пример: api.testme_id_type_seq

Последовательность связана с таблицей, поэтому при удалении таблицы — удаляется и последовательность.

Создадим таблицу:

fsdfsdf

CREATE OR REPLACE PROCEDURE testme_sleep(in_is_exception bool)
LANGUAGE plpgsql
AS $procedure$
BEGIN
        INSERT INTO testme_table (t1) VALUES (current_timestamp);
        PERFORM pg_sleep(5);
        IF (in_is_exception) THEN
            RAISE EXCEPTION 'Невозможно добавить пользователя справочника, т.к. он не является пользователем данного домена!' USING ERRCODE = '20017';
        END IF;
        PERFORM pg_sleep(5);
        INSERT INTO testme_table (t1) VALUES (current_timestamp);
END
$procedure$
SET search_path = ops_api;
CREATE TABLE testme (
  id_type     BIGSERIAL NOT NULL,
  name        text NOT NULL,
  description text,
  PRIMARY KEY (id_type));

Источники:

Ссылки