As default, postgres 8.3 & 8.4 set the search_path with ‘$user, public’. If the geoportal scripts create a schema with the same name with a user, it is picked up because of the first parameter ‘$user’. If there is no schema named after a user, then public is picked up as a schema. The postgres scripts for both Linux and Windows should be modified to force the search path with a schema name that a user designates.
In previous geoportal versions, this was noted in KB article: http://resources.arcgis.com/content/kbase?fa=articleShow&d=35960
I don't know how to make the changes for the Linux commands, but I was able to update the scripts for Windows. (I also fixed the geoportal10 issue in the create_schema_pg.cmd file from bug ID: 3161868).
http://dl.dropbox.com/u/19013732/Geoprotal/create_schema_pg.zip
The Changes are:
In create_schema_pg.cmd I added a new input variable (%5), which is set as "_GEOPORTALSCEMA". I then updated the psql command in line 18 to send the imported schema to the schema_pg.sql script. I also updated the ":usage" section to remove references to "geoportal10" and include instructions about the new "geoportal schema" variable.
In the schema_pg.sql I added a "SET search_path" command to force the script to use the schema entered by the user in the "create_schema_pg.cmd" input.