smallint、integer、bigintは各種範囲の整数、つまり小数点以下の端数がない数を保持します。 許容範囲から外れた値を保存しようとするとエラーになります。
integer型は数値の範囲、格納サイズおよび性能において最も釣合いが取れていますので、一般的に使用されます。 smallint型は通常はディスク容量に制限が付いている場合にのみ使用します。bigint型はintegerの許容範囲では十分ではない場合に使用されるよう設計されています。
SQLでは整数の型としてinteger(またはint)とsmallint、bigintのみを規定しています。int2、int4およびint8は拡張ですが、いくつか他のSQLデータベースシステムでも使われています。