From 3f76b98073687a376f84a10c0972c3dd0c5de55c Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Fri, 9 Apr 2021 18:20:06 -0500 Subject: [PATCH] Allow dbname query parameter in URL conn string fixes #69 --- config.go | 8 ++++++++ config_test.go | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/config.go b/config.go index c162d3c3..6991e1de 100644 --- a/config.go +++ b/config.go @@ -426,7 +426,15 @@ func parseURLSettings(connString string) (map[string]string, error) { settings["database"] = database } + nameMap := map[string]string{ + "dbname": "database", + } + for k, v := range url.Query() { + if k2, present := nameMap[k]; present { + k = k2 + } + settings[k] = v[0] } diff --git a/config_test.go b/config_test.go index e869422d..11dd23dc 100644 --- a/config_test.go +++ b/config_test.go @@ -227,6 +227,18 @@ func TestParseConfig(t *testing.T) { RuntimeParams: map[string]string{}, }, }, + { + name: "database url dbname", + connString: "postgres://localhost/?dbname=foo&sslmode=disable", + config: &pgconn.Config{ + User: osUserName, + Host: "localhost", + Port: 5432, + Database: "foo", + TLSConfig: nil, + RuntimeParams: map[string]string{}, + }, + }, { name: "database url postgresql protocol", connString: "postgresql://jack@localhost:5432/mydb?sslmode=disable",