Thread

  1. Re: Can we remove support for standard_conforming_strings = off yet?

    Andrew Dunstan <andrew@dunslane.net> — 2025-12-31T16:02:36Z

    On 2025-12-30 Tu 5:50 PM, Tom Lane wrote:
    > I wrote:
    >> standard_conforming_strings has defaulted to ON since 2010 (see
    >> 0839f312e in the 9.1 release).  I propose that it's finally time to
    >> force it on and get rid of code that supports the "off" setting.
    > Here's a draft patch series for that.
    >
    > As I was working through it, I realized that there's one
    > potentially-nasty point that might cause upgrading problems.
    > To wit, pg_dump and pg_dumpall have historically replicated the
    > source server's standard_conforming_strings setting into their
    > output: they emit a SET command for that, and any string literals
    > appearing in views or the like will be escaped accordingly.
    > So if your old installation had standard_conforming_strings = off,
    > and all you have from it is existing pg_dump output (either text
    > or archive format), you are in a sticky situation because that
    > dump will not restore cleanly.  This isn't impossible to get
    > out of, but you'd probably have to stand up a pre-v19 server,
    > restore the dump into that, and take a fresh dump made with
    > standard_conforming_strings = on.  The alternative would be
    > manual correction of literals in the dump script, which seems
    > far too error-prone to be recommendable.
    
    
    Have we ever promised that dumps made using pg_dump/pg_dumpall from 
    other than the target version work?
    
    I don't see this as a big issue, unless I'm misunderstanding.
    
    
    cheers
    
    
    andrew
    
    --
    Andrew Dunstan
    EDB:https://www.enterprisedb.com