Coming from a completely Linux background, I was tasked with connecting to a aws redshift
cluster or a postgres
cluster via Windows powershell and PSQL. I knew it was possible and searching the internet came up with CMD prompt solutions, when I attempted via powershell, I was faced with the following error below, you will need to install postgres on windows10 to get access to the psql binary, you can get it here:
https://www.postgresql.org/download/windows/
1 2 3 |
PS C:\WINDOWS\system32> psql.exe -h afs-rs-dev02.us-east-1.redshift.amazonaws.com -p 5439 -U awsmaster benchmark01 Password for user awsmaster: psql: FATAL: invalid value for parameter "client_encoding": "WIN1252" |
Turns out a colleague of mine and I figured out you will need to set the variable PGCLIENTENCODING via the powershell command line. This was expected but we could not nail down the syntax, we found it.
1 2 3 4 5 6 7 8 9 10 11 |
PS C:\WINDOWS\system32> $env:PGCLIENTENCODING='utf-8'; PS C:\WINDOWS\system32> psql.exe -h afs-rs-dev02.us-east-1.redshift.amazonaws.com -p 5439 -U awsmaster benchmark01 Password for user awsmaster: psql (10.1, server 8.0.2) WARNING: Console code page (437) differs from Windows code page (1252) 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details. SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. benchmark01=# |
Once this is set, you can connect to PG as normal.