DOKK / manpages / debian 12 / pgpool2 / pg_enc.1.en
PG_ENC(1) pgpool-II 4.3.5 Documentation PG_ENC(1)

pg_enc - AES256 password encryption utility

pg_enc [option...] -p

pg_enc [option...] password

pg_enc AES256 password encryption utility.

-k KEY_FILE
--key-file=KEY_FILE

Set the path to the encryption key file. Default is the .pgpoolkey file located in the users home directory, which can be overridden by the environment variable PGPOOLKEYFILE.

-K ENCRYPTION_KEY
--enc-key=ENCRYPTION_KEY

Encryption key to be used for encrypting database passwords.

-f CONFIG_FILE
--config-file=CONFIG_FILE

Specifies the pgpool.conf file.

-i INPUT_FILE
--input-file=INPUT_FILE

Specifies file containing username and password pairs.

-p
--prompt

Prompt for database password using standard input.

-P
--prompt-for-key

Prompt for encryption key using standard input.

-m
--update-pass

Create encrypted password entry in the pool_passwd file.

-u your_username
--username=your_username

Creates the pool_passwd entry for the database user called your_username.

-h
--help

Prints the help for pg_enc.


Note

If you are providing the password as an argument to pg_enc and the password contains a "$" character, you must escape it.

For example, if you want to use "ABC$123" as password,

pg_enc -m -f /path/to/pgpool.conf -u username ABC\$123

Here is an example output:


pg_enc -p
db password: [your password]

or


./pg_enc foo
trying to read key from file /home/pgpool/.pgpoolkey
jglid1QRgiCl/vfhHUDyVA==
pool_passwd string: AESjglid1QRgiCl/vfhHUDyVA==

pg_enc can be used for pool_passwd passwords with:


pg_enc -m -f /path/to/pgpool.conf -u username -p
db password: [your password]

which will add an entry for username with the password given.

To avoid password prompt or password in command parameter, pg_enc can read user name:password pairs from file. It will add all user names and encrypted password to pool_passwd authentication file.


$ cat users.txt
username1:secretpassword1
username2:secretpassword2
$ pg_enc -m -f /path/to/pgpool.conf -i users.txt
trying to read key from file /home/pgpool/.pgpoolkey
trying to read user:password pairs from file users.text
$ cat /path/to/pool_passwd
username1:AESrx5QdpGyW/+4CB80KWtwhg==
username2:AESUAdohy7nCUhWliRI9WiYQA==

2023 pgpool-II 4.3.5