Re: Should \o mean "everything?" - Mailing list pgsql-hackers

From Anastasia Lubennikova
Subject Re: Should \o mean "everything?"
Date
Msg-id 55E58901.9010500@postgrespro.ru
Whole thread Raw
In response to Re: Should \o mean "everything?"  (David Fetter <david@fetter.org>)
List 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@fetter.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




pgsql-hackers by date:

Previous
From: Mason S
Date:
Subject: Re: Horizontal scalability/sharding
Next
From: Fabien COELHO
Date:
Subject: Re: checkpointer continuous flushing