Michael Rasmussen <michaelr@porch.com> writes:
> I have encountered an issue in testing our upgrade from 9.4.4 to 9.6.1. Per the changes detailed in
https://www.postgresql.org/message-id/E1aGVwY-0002Pu-Uk%40gemulon.postgresql.org,the argument types of the to_reg*()
functionswere changed from cstring to text.
Right.
> I am now faced with having to support both 9.4 and 9.6 as we will not be upgrading all servers simultaneously. The
solutionI have come up with is to use if-else statements that check the numeric version of the cluster the function is
installedon. An example:
Personally, I'd try to convert everything to new style, and put a shim
function into pre-9.6 deployments only. This seems to work:
create function to_regclass(text) returns regclass
language sql as 'select to_regclass($1::cstring)';
regards, tom lane