PostgreSQLでの特殊なデータ型にSERIAL型というのがあります。
実際のところ
CREATE TABLE samples ( product_id SERIAL, body text );
SERIAL型を使う場合、データ指定はDEFAULTとします。
具体的な数値を突っ込むと、その通りの値が入ります。
INSERT INTO samples VALUES (1,'body'),(1,'foovar'); INSERT INTO samples VALUES (DEFAULT,'yes'),(DEFAULT,'no'); INSERT INTO samples VALUES (DEFAULT,'foo'),(DEFAULT,'bar');
実際みてみると、こんな塩梅です。
SELECT * FROM samples; product_id | body ------------+-------- 1 | body 1 | foovar 1 | yes 2 | no 3 | foo 4 | bar (6 rows)