But when I try to drop the existing || operator, I get the following error ERROR: cannot drop operator ||(text,text) because it is required by the database system
Also I cannot modify the application which runs over the database. Hence I cannot overload || (varchar,varchar) and use it.
Is there any way of overloading the || operator , such that it behaves
like Oracle? ( I know that Oracle behaviour is wrong , but my aim is
to move an existing application which runs on Oracle to Postgres :-( )
Your best bet might be to define your own type "oraclevarchar" with stub implementations of most functions/operators except those you want to oracle-ise.
-- Richard Huxton Archonet Ltd
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match