Re: How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe?
От | Adrian Klaver |
---|---|
Тема | Re: How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe? |
Дата | |
Msg-id | daf7934f-18f5-48fe-a7e1-924c8697dc6c@aklaver.com обсуждение исходный текст |
Ответ на | How to redirect output from PostgreSQL pg_recvlogical to a file or a pipe? (David Ventimiglia <davidaventimiglia@hasura.io>) |
Список | pgsql-general |
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@aklaver.com
В списке pgsql-general по дате отправления: