pg-connection-string parses URIs in the ways that psql (and generally,
libpq) will accept them. This is a more convenient and robust alternative to
crates like uri.
As outlined in the Postgres docs, the general form for a connection URI is:
postgresql://[userspec@][hostspec][/dbname][?paramspec]
where userspec is:
user[:password]
and hostspec is:
[host][:port][,...]
and paramspec is:
name=value[&...]
The URI scheme designator can be either postgresql:// or postgres://.
Each of the remaining URI parts is optional.