PostgreSQL automatically creates an index for each unique constraint and primary key constraint to enforce uniqueness. Thus, it is not necessary to create an index explicitly for primary key columns.
type is better to use for it? I tried btree and hash, but didn't
You already have an index on your bigint primary key. I think it is of type btree.