Re: proposal: multiple psql option -c

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, dinesh kumar <dineshkumar02(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: proposal: multiple psql option -c
Date: 2015-07-29 19:05:19
Message-ID: CAFj8pRBgMXsTAhHy8+EqPAW+yAJf3sRQ=BDqKNe2wLOBnzD-Lw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

here is proof concept patch

It should be cleaned, but it demonstrates a work well

[pavel(at)localhost psql]$ ./psql -C 'select 10 x; select 20 y;' -C "\l"
postgres
x
----
10
(1 row)

y
----
20
(1 row)

List of databases
Name | Owner | Encoding | Collate | Ctype | Access
privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
(3 rows)

2015-07-28 18:46 GMT+02:00 Andrew Dunstan <andrew(at)dunslane(dot)net>:

>
> On 07/28/2015 11:52 AM, Pavel Stehule wrote:
>
>>
>>
>> 2015-07-28 15:16 GMT+02:00 Andrew Dunstan <andrew(at)dunslane(dot)net <mailto:
>> andrew(at)dunslane(dot)net>>:
>>
>>
>> On 07/28/2015 12:08 AM, Pavel Stehule wrote:
>>
>>
>>
>> 2015-07-28 5:24 GMT+02:00 Pavel Stehule
>> <pavel(dot)stehule(at)gmail(dot)com <mailto:pavel(dot)stehule(at)gmail(dot)com>
>> <mailto:pavel(dot)stehule(at)gmail(dot)com
>> <mailto:pavel(dot)stehule(at)gmail(dot)com>>>:
>>
>>
>>
>> 2015-07-27 21:57 GMT+02:00 Andrew Dunstan
>> <andrew(at)dunslane(dot)net <mailto:andrew(at)dunslane(dot)net>
>> <mailto:andrew(at)dunslane(dot)net <mailto:andrew(at)dunslane(dot)net>>>:
>>
>>
>>
>> On 07/27/2015 02:53 PM, Pavel Stehule wrote:
>>
>>
>>
>>
>>
>> I am trying to run parallel execution
>>
>> psql -At -c "select datname from pg_database"
>> postgres |
>> xargs -n 1 -P 3 psql -c "select current_database()"
>>
>>
>>
>>
>> I don't think it's going to be a hugely important
>> feature, but
>> I don't see a problem with creating a new option (-C seems
>> fine) which would have the same effect as if the arguments
>> were contatenated into a file which is then used with
>> -f. IIRC
>> -c has some special characteristics which means it's
>> probably
>> best not to try to extend it for this feature.
>>
>>
>> ok, I'll try to write patch.
>>
>>
>> I have a question. Can be -C option multiple?
>>
>> The SQL is without problem, but what about \x command?
>>
>> postgres=# \dt \dn select 10;
>> No relations found.
>> List of schemas
>> ┌──────┬───────┐
>> │ Name │ Owner │
>> ╞══════╪═══════╡
>> └──────┴───────┘
>> (0 rows)
>>
>> \dn: extra argument "10;" ignored
>>
>>
>>
>> I don't understand the question.
>>
>> You should include one sql or psql command per -C option, ISTM. e.g.
>>
>> psql -C '\dt' -C '\dn' -C 'select 10;'
>>
>>
>> Isn't that what we're talking about with this whole proposal?
>>
>>
>>
>> I am searching some agreement, how to solve a current "-c" limits. I am
>> 100% for >>> psql -C '\dt' -C '\dn' -C 'select 10;' <<<
>>
>>
>>
> I think you're probably best off leaving -c alone. If there are issues to
> be solved for -c they should be handled separately from the feature we
> agree on.
>
> cheers
>
> andrew
>
>
>
>

Attachment Content-Type Size
psql.patch text/x-patch 3.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Qingqing Zhou 2015-07-29 19:14:38 Re: Planner debug views
Previous Message Robert Haas 2015-07-29 18:57:27 Re: Remaining 'needs review' patchs in July commitfest