Re: Should \o mean "everything?"

From: Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Should \o mean "everything?"
Date: 2015-09-01 11:16:17
Message-ID: 55E58901.9010500@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

31.08.2015 23:25, David Fetter пишет:
> On Mon, Aug 31, 2015 at 07:18:02PM +0000, Kevin Grittner wrote:
>> David Fetter <david(at)fetter(dot)org> wrote:
>>
>>> In a failed attempt to send the output of \pset to a pipe, I
>>> noticed that for reasons I find difficult to explain, not every
>>> output gets redirected with \o.
>>>
>>> At first blush, I'd consider this inconsistency as a bug.
>>>
>>> What have I missed?
>> The documentation says:
>>
>> | Arranges to save future query results to the file filename or
>> | pipe future results to the shell command command. If no argument
>> | is specified, the query output is reset to the standard output.
>> |
>> | "Query results" includes all tables, command responses, and
>> | notices obtained from the database server, as well as output of
>> | various backslash commands that query the database (such as \d),
>> | but not error messages.
>>
>> Are you seeing anything inconsistent with the documentation? If
>> so, what?
> Perhaps an example would help clarify...
>
> postgres=# \o | perl -pE 's/^/PREFIXED!/'
> postgres=# \dt
> postgres=# PREFIXED!No relations found.
>
> postgres=# \set
> AUTOCOMMIT = 'on'
> ON_ERROR_STOP = ''
> PROMPT1 = '%/%R%# '
> PROMPT2 = '%/%R%# '
> PROMPT3 = '>> '
> VERBOSITY = 'default'
> VERSION = 'PostgreSQL 9.4.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit'
> DBNAME = 'postgres'
> USER = 'postgres'
> HOST = '/var/run/postgresql'
> PORT = '5432'
> ENCODING = 'UTF8'
> PSQL_EDITOR = '"/usr/local/bin/vim"'
>
> Cheers,
> David.
Thanks for your test case. It made the question clear.
That's definitely not a bug. Just not use case of "\o" command.
Maybe documentation is a bit vague here.

| "Query results" includes <...> output of various backslash commands
that query the database (such as \d),
| but not error messages.

As I understand, this phrase means ONLY those commands which starts with
'\d' (such as \dt, \di, \des etc.)

--
Anastasia Lubennikova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2015-09-01 12:00:41 Re: checkpointer continuous flushing
Previous Message Mason S 2015-09-01 11:01:35 Re: Horizontal scalability/sharding