Re: [BUGS] pg_dump: patterns and tables with uppercase letters
От | Andrea Urbani |
---|---|
Тема | Re: [BUGS] pg_dump: patterns and tables with uppercase letters |
Дата | |
Msg-id | trinity-aedbc098-e013-4a69-adfd-a5c45eabb0d7-1482385970017@3capp-mailcom-lxa02 обсуждение исходный текст |
Ответ на | Re: [BUGS] pg_dump: patterns and tables with uppercase letters (Michael Paquier <michael.paquier@gmail.com>) |
Список | pgsql-bugs |
Hello Michael,
it works: thank you and sorry.
Bye
Andrea
Sent: Thursday, December 22, 2016 at 5:32 AM
From: "Michael Paquier" <michael.paquier@gmail.com>
To: "Andrea Urbani" <matfanjol@mail.com>
Cc: "PostgreSQL mailing lists" <pgsql-bugs@postgresql.org>
Subject: Re: [BUGS] pg_dump: patterns and tables with uppercase letters
From: "Michael Paquier" <michael.paquier@gmail.com>
To: "Andrea Urbani" <matfanjol@mail.com>
Cc: "PostgreSQL mailing lists" <pgsql-bugs@postgresql.org>
Subject: Re: [BUGS] pg_dump: patterns and tables with uppercase letters
On Wed, Dec 21, 2016 at 8:35 PM, Andrea Urbani <matfanjol@mail.com> wrote:
> Hello to everybody,
> if you have table names with uppercase letters you will not be able to use
> the patterns in pg_dump.
> In particular the processSQLNamePattern function, inside
> src/fe_utils/strings_utils.c, is converting to lowercase when the text is
> not double quoted, but when it is double quoted, all the |*+?()[]{}.^$\
> characters are quoted.
You are missing the point here... The pattern analysis matches what is
done in psql. So you could do want you want by moving the regex
pattern out of the double quotes for example:
$ pg_dump --table '"tDocuments"*' | grep "CREATE TABLE" | grep tDocuments
CREATE TABLE "tDocuments" (
CREATE TABLE "tDocumentsFiles" (
The fine docs explain the full behavior here, the first paragraph
being especially explicit about the use of double quotes:
https://www.postgresql.org/docs/devel/static/app-psql.html#app-psql-patterns
--
Michael
> Hello to everybody,
> if you have table names with uppercase letters you will not be able to use
> the patterns in pg_dump.
> In particular the processSQLNamePattern function, inside
> src/fe_utils/strings_utils.c, is converting to lowercase when the text is
> not double quoted, but when it is double quoted, all the |*+?()[]{}.^$\
> characters are quoted.
You are missing the point here... The pattern analysis matches what is
done in psql. So you could do want you want by moving the regex
pattern out of the double quotes for example:
$ pg_dump --table '"tDocuments"*' | grep "CREATE TABLE" | grep tDocuments
CREATE TABLE "tDocuments" (
CREATE TABLE "tDocumentsFiles" (
The fine docs explain the full behavior here, the first paragraph
being especially explicit about the use of double quotes:
https://www.postgresql.org/docs/devel/static/app-psql.html#app-psql-patterns
--
Michael
В списке pgsql-bugs по дате отправления: