Feature proposal, DBURL: psql pgsql://joe:p4zzw0rd@example.org:2345/dbname
Hi
The dburl (or dburi) has become common to use by many systems connecting to
a database. The feature is that one can pass all parameters in a string,
which has similar pattern as http-URI do.
Especially when using psql in a script, having the credentials in one
string is convenient.
The syntax could be:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,column...]*]]]|sql]]]
Example of usage:
psql pgsql://joe:p4zzw0rd@example.org:2345/dbname
Where
Scheme: pgsql
Username: joe
Password: p4zzw0rd
Host: example.org
Port: 2345
Database: dbname
I have attached an example of how it could be implemented. It uses libpcre
RegEx to pass the dburl.
best regards
Hans
Attachments:
dburl.difftext/plain; charset=US-ASCII; name=dburl.diffDownload+305-4
## Hans Schou (hans.schou@gmail.com):
Example of usage:
psql pgsql://joe:p4zzw0rd@example.org:2345/dbname
Make the scheme "postgresql" and you're here:
https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING
"32.1.1.2. Connection URIs".
Regards,
Christoph
--
Spare Space
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Hans Schou wrote:
The dburl (or dburi) has become common to use by many systems connecting to a database.
The feature is that one can pass all parameters in a string, which has similar pattern as
http-URI do.Especially when using psql in a script, having the credentials in one string is
convenient.The syntax could be:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,col
umn...]*]]]|sql]]]Example of usage:
psql pgsql://joe:p4zzw0rd@example.org:2345/dbname
[...]
I have attached an example of how it could be implemented. It uses libpcre RegEx to pass
the dburl.
Unless I misunderstand, this has been in PostgreSQL since 9.2:
https://www.postgresql.org/docs/current/static/libpq-connect.html#AEN45571
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=b035cb9db7aa7c0f28581b23feb10d3c559701f6
Yours,
Laurenz Albe
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 07/05/2017 06:15 AM, Albe Laurenz wrote:
Hans Schou wrote:
The dburl (or dburi) has become common to use by many systems connecting to a database.
The feature is that one can pass all parameters in a string, which has similar pattern as
http-URI do.Especially when using psql in a script, having the credentials in one string is
convenient.The syntax could be:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,col
umn...]*]]]|sql]]]Example of usage:
psql pgsql://joe:p4zzw0rd@example.org:2345/dbname[...]
I have attached an example of how it could be implemented. It uses libpcre RegEx to pass
the dburl.Unless I misunderstand, this has been in PostgreSQL since 9.2:
T think the OP was referring to the latter part of:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,column...]*]]]|sql]]]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The thing is that in a quick search on this I did not find a reference
implementation of this to compare against.
Yours,
Laurenz Albe
--
Adrian Klaver
adrian.klaver@aklaver.com
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Hans Schou schrieb am 05.07.2017 um 14:27:
The dburl (or dburi) has become common to use by many systems
connecting to a database. The feature is that one can pass all
parameters in a string, which has similar pattern as http-URI do.Especially when using psql in a script, having the credentials in one string is convenient.
The syntax could be:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,column...]*]]]|sql]]]
Besides the fact that something like that is already possible:
What's the use of "table" and "column" in the URI? You connect to a database, not to a table.
Thomas
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
2017-07-05 15:15 GMT+02:00 Albe Laurenz <laurenz.albe@wien.gv.at>:
Unless I misunderstand, this has been in PostgreSQL since 9.2:
Sorry! I did not read the *new* manual.
(OK, 9.2 is not that new)
It is even mentioned in the man page.
Then I have a new proposal. Write a note about in
psql --help
./hans
2017-07-05 16:29 GMT+02:00 Thomas Kellerer <spam_eater@gmx.net>:
Hans Schou schrieb am 05.07.2017 um 14:27:
The dburl (or dburi) has become common to use by many systems
connecting to a database. The feature is that one can pass all
parameters in a string, which has similar pattern as http-URI do.Especially when using psql in a script, having the credentials in one
string is convenient.
The syntax could be:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,column...]*]]]|sql]]]
Besides the fact that something like that is already possible:
What's the use of "table" and "column" in the URI? You connect to a
database, not to a table.
With 'table' the idea was to do a "SELECT * FROM table" on that.
With 'column' added only that or those columns would be listed.
The "sql" part in the end was supposed to be a SQL-statement to be
executed, like:
psql "postgresql://localhost/dbname/INSERT INTO foo VALUES($RANDOM)"
which should be equal to
echo "INSERT INTO foo VALUES($RANDOM)" | psql
postgresql://localhost/dbname
./hans
2017-07-05 15:41 GMT+02:00 Adrian Klaver <adrian.klaver@aklaver.com>:
[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[
dbname][/[[table[/[column[,column...]*]]]|sql]]]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^The thing is that in a quick search on this I did not find a reference
implementation of this to compare against.
"dsn" is only relevant when the scheme is ODBC.
In a situation where an application (like Drupal) get connect string (URI)
it should be able to find the right driver to use. In case with of ODBC, a
dsn (Data Source Name) is needed.
./hans
On 07/05/2017 08:31 AM, Hans Schou wrote:
2017-07-05 15:41 GMT+02:00 Adrian Klaver <adrian.klaver@aklaver.com
<mailto:adrian.klaver@aklaver.com>>:[scheme[<+>dsn]]://[[username[:[password]]@][host][:port][/[dbname][/[[table[/[column[,column...]*]]]|sql]]]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^The thing is that in a quick search on this I did not find a
reference implementation of this to compare against."dsn" is only relevant when the scheme is ODBC.
That was formatting error on my part, I was trying to point to the back
half of the URI. The part with the table/column/sql sections.
In a situation where an application (like Drupal) get connect string
(URI) it should be able to find the right driver to use. In case with of
ODBC, a dsn (Data Source Name) is needed../hans
--
Adrian Klaver
adrian.klaver@aklaver.com
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general