Re: PostgreSQL pollutes the file system

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: PostgreSQL pollutes the file system
Дата
Msg-id CAFj8pRAFpZcDGL5i1wMQiHZ43y5Qd=22=+2vTCFOrak_mrUxjw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PostgreSQL pollutes the file system  (Christoph Berg <myon@debian.org>)
Ответы Re: PostgreSQL pollutes the file system
Re: PostgreSQL pollutes the file system
Список pgsql-hackers


pá 29. 3. 2019 v 19:50 odesílatel Christoph Berg <myon@debian.org> napsal:
Re: Tom Lane 2019-03-29 <19517.1553876700@sss.pgh.pa.us>
> >> Or perhaps better, allow pg_ctl to grow new subcommands for those
> >> tasks?
>
> > We'd need to be careful to somehow delineate commands that need access
> > to the data directory / run locally on the server from the ones that
> > just needs a client connection.
>
> Hmm, that's a good point: to put it in terms that make sense to a
> packager, it'd no longer be clear whether pg_ctl belongs in the
> server package or the client package.

True, and putting end-user commands like "create database" into the
same admin tool like "stop", "promote", and "kill" feels both wrong
and dangerous to me. It would also cause people to wonder why "pg_ctl
-h remotehost stop" doesn't work.

> I'm still not thrilled with wedging in these things as options
> to psql though: its command line semantics are overly complicated
> already, when you consider things like multiple -c and -f options.
> I mean, somebody might think it's a feature to be able to do
>
>     psql --createuser alice --createuser bob -c 'some command' -f somefile
>
> but I don't.

Ack. (Otoh, just processing all arguments after another might be
well-defined, and not too hard?)

> Maybe if we want to merge these things into one executable,
> it should be a new one.  "pg_util createrole bob" ?

"pg" is unfortunately already taken :(

Fwiw, let's please keep supporting "createuser". Creating login roles
is more common than non-login ones, and having to type "createrole
--login bob" is cumbersome and will cause endless support requests by
confused users.

Other idea: If we don't want to reinvent a new tool, how about
supporting prepared statements in psql?

  psql -c 'create user %i' --args 'bob w. space'

Prepared statements cannot be DDL commands.

But psql has safe escaping via :"xxx" notation. So some like

psql -c 'create role :"role"' -v role='my role' ...

But what I know the psql variables are not evaluated for -c query

Pavel
 

Christoph


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

Предыдущее
От: Christoph Berg
Дата:
Сообщение: Re: PostgreSQL pollutes the file system
Следующее
От: Shaun Thomas
Дата:
Сообщение: Re: [PATCH] Incremental sort (was: PoC: Partial sort)