Re: createuser/dropuser username

Поиск
Список
Период
Сортировка
Искать
От
Bruce Momjian
Тема
Re: createuser/dropuser username
Дата
Msg-id
201109080137.p881bSj10401@momjian.us
Ответ на
Список
Дерево обсуждения
createuser/dropuser username Grzegorz Szpetkowski <gszpetkowski@gmail.com>
Re: createuser/dropuser username Robert Haas <robertmhaas@gmail.com>
Re: createuser/dropuser username Susanne Ebrecht <susanne@2ndQuadrant.com>
Re: createuser/dropuser username Tom Lane <tgl@sss.pgh.pa.us>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Tom Lane <tgl@sss.pgh.pa.us>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Tom Lane <tgl@sss.pgh.pa.us>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Alvaro Herrera <alvherre@commandprompt.com>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Tom Lane <tgl@sss.pgh.pa.us>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Peter Eisentraut <peter_e@gmx.net>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Bruce Momjian <bruce@momjian.us>
Re: createuser/dropuser username Susanne Ebrecht <susanne@2ndQuadrant.com>
Tom Lane wrote:
> Bruce Momjian  writes:
> > Uh, I did some digging after this email report and found it does need
> > some cleanup, which is done in the attached patch.
> 
> > It removes quoting for table references in clusterdb and index/table
> > references in reindexdb,
> 
> Uh, surely that breaks things.  Or did you miss my statement that the
> current behavior is what is intended?

I saw that, but how is that consistent with other command-line tools? 
What is the logic that has some tools preserve case and others not?

> > and adds a general documentation overview about
> > when case is preserved and suggests quoting, and adds documentation
> > where special quoting happens.
> 
> I don't find the documentation changes to be improvements either.
> Possibly instead of
> 
> > !         Specifies the default tablespace for the database (double-quoted internally).
> 
> you could do something like
> 
>          Specifies the default tablespace for the database.  (This name
>          is not subject to case-folding.)

OK.

> > +    
> > +     When specified on the command line, user and databases names have
> > +     their case preserved — the presence of spaces or special
> > +     characters might require quoting.  Table names and other identifiers
> > +     do not have their case preserved, except where documented, and
> > +     might require quoting.
> > +    
> 
> This latter sentence is just plain wrong.

Really?  Pg_dump doesn't preserve case for table names:

	pg_dump -t Test test

	$ pg_dump -t Test test
	pg_dump: No matching tables were found
	$ pg_dump -t '"Test"' test
	--
	-- PostgreSQL database dump
	...

and vacuumdb certainly does not:

	vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy

	$ vacuumdb --analyze --verbose --table 'Test (x)' test
	vacuumdb: vacuuming of table "Test (x)" in database "test" failed: ERROR:  relation "test" does not exist
	$ vacuumdb --analyze --verbose --table '"Test" (x)' test
	INFO:  vacuuming "public.Test"
	INFO:  "Test": found 0 removable, 0 nonremovable row versions in 0 out of 0 pages
	...

Who does?  reindexdb and clusterdb did before my patch, but that hardly
seems consistent.

-- 
  Bruce Momjian          http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +
В списке pgsql-docs по дате отправления
От: Tom Lane
Дата:
От: Bruce Momjian
Дата:
FAQ