Re: Better way to process records in bash?

From: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Better way to process records in bash?
Date: 2024-09-12 19:43:59
Message-ID: CANzqJaAJe-HhKGtfvJXtL1q=U6FsJ+-hcRh=Wvzy=MKyAvTzeQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Sep 12, 2024 at 3:30 PM Christoph Moench-Tegeder <cmt(at)burggraben(dot)net>
wrote:

> ## Ron Johnson (ronljohnsonjr(at)gmail(dot)com):
>
> > I need to process table records in a bash script. Currently, I read them
> > using a while loop and redirection. The table isn't that big (30ish
> > thousand rows), and performance is adequate, but am always looking for
> > "better".
>
> Use python, or any other sane language, and don't do bash in python.
> Anything non-trivial is unreasonably hard to get really right when
> using shell.
>
> Take this example (even when allowing some fuzz with the variables):
> > Here's the current code:
> > declare f1 f3 f8
> > while IFS='|' read f1 f3 f8; do
> > something f8 f3 f1
> > done < <(psql -XAt -c "select f1, f3, f8 from some.table_name;")
>
> What happens when f3
> a) is NULL?
> b) contains a '|' character?
> c) contains spaces? (this one depends on how exactly you're handling
> the shell variables).
> This might be fine if your data is only NOT NULL numbers, but that's
> already quite a limitation on your data.
>

Good points. Shouldn't be relevant in my situation, but
defensive programming never hurts.

--
Death to America, and butter sauce.
Iraq lobster!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Durgamahesh Manne 2024-09-12 19:51:55 Recommendations on Improving the debezium performance even on medium workload
Previous Message Florents Tselai 2024-09-12 19:43:56 Re: Better way to process records in bash?