I don't fully understand how the content repository works, which is no doubt why I dislike it. On a postgres instance at least some content is stored in the file system, while an Oracle instance puts it in the DB.
The solution I've come up with, that I'm happy with for now is...
I Set my new postgres site up with a second database connection to the old Oracle site's DB.
Before creating the site I change the object_id_seq create statement to start at a number higher than the last object_id in the old site.
Migrating data that is closely tied to the CR or acs_objects (Groups, memberships, permissions, etc) is then a matter of selecting from the old DB via -dbn switch and calling the appropriate package proc to add the data to the new site. The site superuser id has to be mapped but everything else keeps the object_id it had in the old site.
This approach also lets me leave a lot of old cruft behind.