How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe? - Mailing list pgsql-general

From David Ventimiglia
Subject How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe?
Date
Msg-id CADE7j6jz3qEinUfeALyBVdoyMWxE3okxUjKH0Dw8A+JjEzZJ_Q@mail.gmail.com
Whole thread Raw
Responses Re: How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe?  (Francisco Olarte <folarte@peoplecall.com>)
List pgsql-general

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.

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

pgsql-general by date:

Previous
From: Jim Nasby
Date:
Subject: Re: [EXTERNAL]Re: Refresh Materialized View Issue
Next
From: Adrian Klaver
Date:
Subject: Re: How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe?