Search Postgresql Archives

Re: How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/12/24 11:34, David Ventimiglia wrote:
Hello! How do I redirect logical decoding output from the PostgreSQL CLI tool |pg_recvlogical| either to a file or to another command via a pipe? I ask because when I try the obvious, no output is recorded or sent:

|pg_recvlogical -d postgres --slot test --start -f - >> sample.jsonl |

Lest there be any confusion, I already created the slot in an earlier step. Moreover, I can verify that if I omit the output redirection |>> sample| then it does work, insofar as it emits the expected change events when I perform DML in another terminal window. When I include the redirection (or alternatively, set up a pipeline), then nothing happens.

You left out the important part of the SO question:

pg_recvlogical -d postgres --slot test --create-slot -P wal2json

I can get:

pg_recvlogical -d postgres --slot test --start -f - >> sample.jsonl

to work when I do:

pg_recvlogical -d postgres --slot test --create-slot

wal2json seems to be the issue.


Note that I am aware of the option to pass a filename to the -f switch to write to a file.  That works, but it's not what I'm after because it doesn't help update my mental model of how this is supposed to work. Based on my current (flawed) mental model built up from command line experience with other tools, this /should/ work.  I should be able to send the output to stdout and then redirect it to a file.  It surprises me that I cannot.

Anyway, thanks!

Best,

David


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux