Subject: pg_enc --input-file ability to read from stdin

From: zam bak <[email-masked]>
Date: Tue, 17 Feb 2026 11:36:58 -0500

Hello

Is it possible to pipe stdin output to pg_end --input-file option by
using dash '-' as a placeholder for stdin?
https://www.pgpool.net/docs/latest/en/html/pg-enc.html

I tried both "echo" and "cat" and am not able to do it.

Example 1:
cat <<'EOF' | pg_enc --update-pass --key-file
/etc/pgpool-II/.pgpoolkey --config-file /etc/pgpool-II/pgpool.conf
--input-file -
username1:secretpassword1
username2:secretpassword2
EOF
trying to read key from file /etc/pgpool-II/.pgpoolkey
trying to read username:password pairs from file -
failed to open input_file "-" (No such file or directory)

Example 2:
echo '
username1:secretpassword1
username2:secretpassword2
' | pg_enc --update-pass --key-file /etc/pgpool-II/.pgpoolkey
--config-file /etc/pgpool-II/pgpool.conf --input-file -
trying to read key from file /etc/pgpool-II/.pgpoolkey
trying to read username:password pairs from file -
failed to open input_file "-" (No such file or directory)

The reason for asking about this is:
*  to be able to use pg_enc in scripting setups
* to be able to provide list of usernames/passwords without having to
actually create a file
* to be able to reduce escaping when autogenerated passwords contain
special characters (by echoing literals)

P.S.
Documentation also does not mention if colon ':' needs to be escaped
(and how) when password contains colon??

Thanks
Z...

---

From: Bo Peng <[email-masked]>
Date: Thu, 19 Feb 2026 00:39:12 +0000

Hi,

Could you try using "--input-file /dev/stdin"?

For example:
cat <<'EOF' | pg_enc --update-pass   --config-file etc/pgpool.conf   --input-file /dev/stdin
username1:secretpassword1
username2:secretpassword2
EOF

---
Bo Peng <[email-masked]>
SRA OSS K.K.
URL: https://www.sraoss.co.jp/

________________________________________
差出人: zam bak <[email-masked]>
送信: 2026 年 2 月 18 日 (水曜日) 1:36
宛先: [email-masked] <[email-masked]>
件名: pg_enc --input-file ability to read from stdin

Hello

Example 1:

Example 2:
echo '

P.S.

Thanks
Z...

---

From: Bo Peng <[email-masked]>
Date: Thu, 19 Feb 2026 02:21:34 +0000

hi,

> (and how) when password contains colon??

As far as I understand, a colon ':' in the password does not need to be escaped. 
Could you clarify what kind of case you are referring to?

Hello

Example 1:

Example 2:
echo '

P.S.

Thanks
Z...

---

From: zam bak <[email-masked]>
Date: Fri, 20 Feb 2026 19:19:42 -0500

> Could you try using "--input-file /dev/stdin"?

I can confirm that this works!
Thank you!

---

From: zam bak <[email-masked]>
Date: Fri, 20 Feb 2026 19:23:32 -0500

> Could you clarify what kind of case you are referring to?

For the case where credentials are being read in from the file,
documentation states that the format should be

So I was wondering if the colon - if it is a part of the password has
to be escaped (because its also a separator between the username and
the password)
I did try this, for example:

    username1:secret:password1
    username2:secret:password2

...and it seems to work fine - is this expected? no escaping is needed?