Skip to content

'postgres://' designator is not supported in connection string #660

Closed
@Vampouille

Description

@Vampouille

The exporter is not able to use connection strings that starts with postgres://. Only connection string starting with postgresql:// is working.

What did you do?

I'm trying to connect the exporter to a managed DB

What did you expect to see?

Successful connection is expected as psql is able to connect to the DB with the same connection string:

$ psql "postgres://admin:PASSWORD_REMOVED@xxxxxxxx:21699/defaultdb?sslmode=require"
psql (14.4 (Debian 14.4-1.pgdg110+1))
Connexion SSL (protocole : TLSv1.3, chiffrement : TLS_AES_256_GCM_SHA384, bits : 256, compression : désactivé)
Saisissez « help » pour l'aide.

defaultdb=> 

What did you see instead? Under which circumstances?

An error during connection :

Unable to parse DSN as either URI or connstring" dsn="postgres://admin:PASSWORD_REMOVED@xxxxxxxx:21699/defaultdb?sslmode=require

The documentation explains that both designator are allowed:

  • postgresql://
  • postgres://
The URI scheme designator can be either postgresql:// or postgres://. 

Environment

  • System information:
Linux 5.10.0-14-amd64 x86_64
  • postgres_exporter version:

Running as docker container : prometheuscommunity/postgres-exporter:v0.10.1

postgres_exporter, version 0.10.1 (branch: HEAD, revision: 6cff384d7433bcb1104efe3b496cd27c0658eb09)
  build user:       root@eb21848025d7
  build date:       20220114-17:20:30
  go version:       go1.17.6
  platform:         linux/amd64
  • postgres_exporter flags:

No flag used but the following env vars :

DATA_SOURCE_NAME=postgres://admin:PASSWORD_REMOVED@xxxxxxxx:21699/defaultdb?sslmode=require
PG_EXPORTER_AUTO_DISCOVER_DATABASES=true   
PG_EXPORTER_EXTEND_QUERY_PATH=/mnt/queries.yaml
  • PostgreSQL version:
PostgreSQL 14.4 on x86_64-pc-linux-gnu, compiled by gcc, a cc67244dc0 p 47d487d188, 64-bit
  • Logs:
ts=2022-06-27T09:04:58.736Z caller=main.go:123 level=info msg="Listening on address" address=:9187
ts=2022-06-27T09:04:58.737Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false
ts=2022-06-27T09:09:00.384Z caller=datasource.go:49 level=error msg="Unable to parse DSN as either URI or connstring" dsn="postgres://admin:PASSWORD_REMOVED@xxxxxxxx:21699/defaultdb?sslmode=require"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions