Search Postgresql Archives

Re: Question about password character in ECPG's connection string

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/27/19 6:18 PM, Egashira, Yusuke wrote:
Hi, Giuseppe,

Thanks to response to my question!

It seems to me that ECPG documentation does not allow specifying
username and/or password in the connection string. The correct syntax
should be:

EXEC SQL CONNECT TO "unix:postgresql://localhost/connectdb" USER
"myuser" IDENTIFIED BY "pass&word"

Yes, I could connect to database with "USER" and "IDENTIFIED BY" phrase in CONNECT statement.
However, I could also connect to database with password in connection string when my password does not contains '&' character.

1. In database,
    > CREATE ROLE myuser LOGIN PASSWORD 'password';
2. In ECPG application,
    EXEC SQL CONNECT "tcp:postgresql://localhost?user=myuser&password=password";
      -> The connection was succeeded.

This behavior confuse me.

My guess it that what is happening is:

1) Given password: my&pwd

2)  "tcp:postgresql://localhost?user=myuser&password=password" looks like

 "tcp:postgresql://localhost?user=myuser&password=my&pwd"

and password is parsed on the & and you also end up with an extra parameter pwd

Have you tried quoting the password?



If user and password cannot write in connection string, what are parameters allowed in "connection_option" ?
I hope I can get this information from the ECPG documentation.

Regards.

--
Yusuke, Egashira.



--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux