Looking for "proper" escape string syntax from pg_get_constraintdef

Поиск
Список
Период
Сортировка
От Marc Munro
Тема Looking for "proper" escape string syntax from pg_get_constraintdef
Дата
Msg-id 1251732715.30485.12.camel@bloodnok.com
обсуждение исходный текст
Ответы Re: Looking for "proper" escape string syntax from pg_get_constraintdef
Список pgsql-general
I am trying to recreate a domain definition from information in
pg_catalog and getting the following warnings:

  WARNING:  nonstandard use of \\ in a string literal
  LINE 3:   CHECK (((VALUE ~ '^\\d{4}$'::text) OR (VALUE ~ '^\\d{5}-\\...
                           ^
  HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
  WARNING:  nonstandard use of \\ in a string literal
  LINE 3:   CHECK (((VALUE ~ '^\\d{4}$'::text) OR (VALUE ~ '^\\d{5}-\\...
                                                         ^
  HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.

My original domain definition is this:

  create domain "public"."us_postal_code"
    as "pg_catalog"."text"
    CHECK (((VALUE ~ E'^\\d{4}$'::text) OR (VALUE ~ E'^\\d{5}-\\d{4}$'::text)));

but retrieving the constraint definition using pg_get_constraintdef(oid)
gives me this:

  CHECK (((VALUE ~ '^\\d{4}$'::text) OR (VALUE ~ '^\\d{5}-\\d{4}$'::text)))

How can I get the constraint definition with proper escaping from the
catalog?  Is there another function I should be using?

__
Marc

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: print/return only the first X chars of a varchar column?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Looking for "proper" escape string syntax from pg_get_constraintdef