diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-03-11 01:13:40 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-03-11 01:13:54 -0700 |
| commit | ebc739afb5b312557ab9e349ea18cae591aaab9f (patch) | |
| tree | d470c8302b07f9233cadb62725441993a16bef75 | |
| parent | f59fcba265ff6f24ab525e37e32eaebf88286ad7 (diff) | |
| download | seaweedfs-ebc739afb5b312557ab9e349ea18cae591aaab9f.tar.xz seaweedfs-ebc739afb5b312557ab9e349ea18cae591aaab9f.zip | |
filer store postgres: skip empty parameters
better fix https://github.com/chrislusf/seaweedfs/issues/1227
| -rw-r--r-- | weed/filer2/postgres/postgres_store.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/weed/filer2/postgres/postgres_store.go b/weed/filer2/postgres/postgres_store.go index 27a0c2513..2e5f892f1 100644 --- a/weed/filer2/postgres/postgres_store.go +++ b/weed/filer2/postgres/postgres_store.go @@ -11,7 +11,7 @@ import ( ) const ( - CONNECTION_URL_PATTERN = "host=%s port=%d user=%s password=%s dbname=%s sslmode=%s connect_timeout=30" + CONNECTION_URL_PATTERN = "host=%s port=%d user=%s sslmode=%s connect_timeout=30" ) func init() { @@ -49,7 +49,13 @@ func (store *PostgresStore) initialize(user, password, hostname string, port int store.SqlListExclusive = "SELECT NAME, meta FROM filemeta WHERE dirhash=$1 AND name>$2 AND directory=$3 ORDER BY NAME ASC LIMIT $4" store.SqlListInclusive = "SELECT NAME, meta FROM filemeta WHERE dirhash=$1 AND name>=$2 AND directory=$3 ORDER BY NAME ASC LIMIT $4" - sqlUrl := fmt.Sprintf(CONNECTION_URL_PATTERN, hostname, port, user, password, database, sslmode) + sqlUrl := fmt.Sprintf(CONNECTION_URL_PATTERN, hostname, port, user, sslmode) + if password != "" { + sqlUrl += " password="+password + } + if database != "" { + sqlUrl += " dbname="+database + } var dbErr error store.DB, dbErr = sql.Open("postgres", sqlUrl) if dbErr != nil { |
