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!
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? |