osm2 pgsql primary key

I dumped a germany.osm file with osm2pgsql in a postgresql database. It seems that osm2pgsql don’t make that one column is a primary key. I tryed to change the column osm_id so that the osm_id is the primary key. But than I get the message: The table contains dobble values.
I thought the osm_id should be unique…? Is the osm_id normally unique? Has anyone a hint for me to add a primary key into the databasetables?

The postgis database has duplicates so just add a column which is unique.

OSM id are unique for each object type.
OSM id are never deleted, only marked invisble.


Osm2pgsql creates sometimes dublicate OSM_IDs. I have been thinking that they come usually from relations. I play with Finnish data and for me it is OK to set database to use WITH_OIDS as default and osm2pgsql can be used as is. Automatically created OID field is good for primary key. However, German subset may be so big that OIDs can not be used but another unique field should be made by hand.