postgresql/src
Alvaro Herrera b035cb9db7 Accept postgres:// URIs in libpq connection functions
postgres:// URIs are an attempt to "stop the bleeding" in this general
area that has been said to occur due to external projects adopting their
own syntaxes.  The syntaxes supported by this patch:

 postgres://[user[:pwd]@][unix-socket][:port[/dbname]][?param1=value1&...]
 postgres://[user[:pwd]@][net-location][:port][/dbname][?param1=value1&...]

should be enough to cover most interesting cases without having to
resort to "param=value" pairs, but those are provided for the cases that
need them regardless.

libpq documentation has been shuffled around a bit, to avoid stuffing
all the format details into the PQconnectdbParams description, which was
already a bit overwhelming.  The list of keywords has moved to its own
subsection, and the details on the URI format live in another subsection.

This includes a simple test program, as requested in discussion, to
ensure that interesting corner cases continue to work appropriately in
the future.

Author: Alexander Shulgin
Some tweaking by Álvaro Herrera, Greg Smith, Daniel Farina, Peter Eisentraut
Reviewed by Robert Haas, Alexey Klyukin (offlist), Heikki Linnakangas,
Marko Kreen, and others

Oh, it also supports postgresql:// but that's probably just an accident.
2012-04-11 04:33:51 -03:00
..
backend Make pg_tablespace_location(0) return the database's default tablespace. 2012-04-10 21:43:14 -04:00
bin psql: Improve tab completion of WITH 2012-04-10 20:35:39 +03:00
include Do stack-depth checking in all postmaster children. 2012-04-08 19:07:55 +03:00
interfaces Accept postgres:// URIs in libpq connection functions 2012-04-11 04:33:51 -03:00
makefiles pgxs: Supply default values for BISON and FLEX variables 2012-03-30 20:36:49 +03:00
pl Fix plpgsql named-cursor-parameter feature for variable name conflicts. 2012-04-04 21:50:31 -04:00
port Remove now redundant pgpipe code. 2012-03-28 23:24:07 -04:00
template Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
test Allow statistics to be collected for foreign tables. 2012-04-06 15:02:35 -04:00
timezone Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tools Remove now redundant pgpipe code. 2012-03-28 23:24:07 -04:00
tutorial Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in ecpg: Improve test building 2012-02-02 20:33:29 +02:00
Makefile.shlib Use single quotes in preference to double quotes for protecting pathnames. 2011-06-15 21:45:23 -04:00
bcc32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
nls-global.mk NLS: Initialize Project-Id-Version field by xgettext 2012-04-10 21:26:17 +03:00
win32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00