Alejandro Brust wrote:
> we recently move from pg9.0 to pg 9.2 whit this method:
>
> from a new server PG9.2 we did:
> pg_dump -h server -p 5432 -U user -Fc -i -b base-name > bk.backup
>
> after that in the new server
> createdb -T template0 -E LATIN1 basename
> pg_restore -h server -p 5432 -U user -d basename bk.backup
>
> now we are having problems with updates on tables whit apostrophes like >> o'higgins << on any
> character fields
> First question:
> is there any configurable parameter for PG9.2 that make
> update tu02t00 set tu02pfusua = 'D'AGOSTINO' work...
> the server error said
>
> ERROR: syntax error at or near "AGOSTINO" at character 187
>
> Second question:
> If there is no way to configure PG9.2 to accept this Cain of update
> which is the best method to do a downgrade from 9.2 to 9.0 (we are not using any new function)
This statement didn't work in any version of PostgreSQL.
I'm guessing that the statement really was:
UPDATE tu02t00 SET tu02pfusua = 'D\'AGOSTINO'
(notice the backslash).
That would have worked in PostgreSQL 9.0 with default configuration
(and given you a warning), but won't work with PostgreSQL 9.2.
If that is your problem, you can set standard_confirming_strings = off
to restore the old behaviour.
It would be much better, though, to adapt your program to use
standard conforming strings, like this:
UPDATE tu02t00 SET tu02pfusua = 'D''AGOSTINO'
Yours,
Laurenz Albe