The following bug has been logged online:
Bug reference:      6057
Logged by:          Marc Mamin
Email address:      marc@intershop.de
PostgreSQL version: 9.0.4
Operating system:   Windows
Description:        regexp_replace & back references
Details:
select regexp_replace ('a','(a)','\\1'||substring('\\1',1,1)||'\\1','g')
= a\1
I'd expect  a\1a as result.
More generally, I miss the avaibility to use back references as function
parameters. It is only possible with some operators (e.g. '\\1'||'\\1'),
probably depending on their lexical precedence. Any way to workaround this
limitation would be very helpful.
HTH,
Marc Mamin