CREATE DATABASE smallserial_test_db; \connect smallserial_test_db CREATE TABLE test_smallserial ( id smallserial NOT NULL PRIMARY KEY, val integer NOT NULL ); CREATE TABLE test_smallserial2 ( id serial2 NOT NULL PRIMARY KEY, val integer NOT NULL ); \d DROP TABLE test_smallserial2; \d test_smallserial INSERT INTO test_smallserial (val) VALUES(1),(2),(3); SELECT * FROM test_smallserial; TRUNCATE TABLE test_smallserial; SELECT setval('test_smallserial_id_seq', 1, false); INSERT INTO test_smallserial (val) SELECT * FROM generate_series(1,32767); SELECT * FROM test_smallserial LIMIT ALL OFFSET 32764; TRUNCATE TABLE test_smallserial; SELECT setval('test_smallserial_id_seq', 1, false); INSERT INTO test_smallserial (val) SELECT * FROM generate_series(1,32768); \connect postgres DROP database smallserial_test_db;