PQconnectdbParams and encrypted password - Mailing list pgsql-interfaces

From Dmitry Markman
Subject PQconnectdbParams and encrypted password
Date
Msg-id 67A8E555-D7C6-41D4-B4A7-0B9E2949A6FC@mac.com
Whole thread Raw
Responses Re: PQconnectdbParams and encrypted password
List pgsql-interfaces
Hi
I need some help with setting PQconnectdbParams key/value for encrypted password

suppose I created user with the string

create user foobar with encrypted password ‘md5f3c33545d22dbf811737afb8d0e85597’

I was able to connect successfully using

psql -U foobar

I guess my pg_hba.conf is OK:

local   all             foobar                                    md5
host    all             foobar              127.0.0.1/32          md5
host    all             foobar              0.0.0.0/0             md5

however

I have a problem to connect to the server from my C++ program using PQconnectdbParams function

            const std::pair<std::string, std::string> connParams[] = {
                {"host", “localhost"},
                {"port", ""},
                {"user", “foobar"},
                {"password", ??????????????},//I’d like to have here “md5f3c33545d22dbf811737afb8d0e85597”, but it
doesn’twork 
                {"options","password_encryption='md5'"},
                {"dbname", "test_db"},
                {"connect_timeout", “10"}
            };
            const char* keywords[] = {connParams[0].first.c_str(),
                                      connParams[1].first.c_str(),
                                      connParams[2].first.c_str(),
                                      connParams[3].first.c_str(),
                                      connParams[4].first.c_str(),
                                      connParams[5].first.c_str(),
                                      connParams[6].first.c_str(),
                                      nullptr};
            const char* connValues[] = {connParams[0].second.c_str(),
                                        connParams[1].second.c_str(),
                                        connParams[2].second.c_str(),
                                        connParams[3].second.c_str(),
                                        connParams[4].second.c_str(),
                                        connParams[5].second.c_str(),
                                        connParams[6].second.c_str(),
                                        nullptr};

        auto db = PQconnectdbParams(keywords, connValues)


whatever I tried ConnStatusType of the db is CONNECTION_BAD

if I use value as “open” string for the key=“password”, then connection was successful


thanks in advance

dm









pgsql-interfaces by date:

Previous
From: Lukáš Sobotka
Date:
Subject: Re: Using COPY command in pqlib
Next
From: Tom Lane
Date:
Subject: Re: PQconnectdbParams and encrypted password