diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 4b6caf46814b5fd6139d3cffd1231057413fd852..6dbc13ede2ff834ef385d28cde6700d42ad7e935 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.104 2003/01/06 22:48:16 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.105 2003/01/07 04:25:29 momjian Exp $ --> <chapter id="libpq"> @@ -209,6 +209,19 @@ PGconn *PQconnectdb(const char *conninfo) </para> </listitem> </varlistentry> + + <varlistentry> + <term><literal>service</literal></term> + <listitem> + <para> + Service name to use for additional parameters. It specifies a service + name in pg_service.conf that holds additional connection parameters. + This allows applications to specify only a service name so connection parameters + can be centrally maintained. See <literal>pg_service.conf.sample</> for + information on how to set up the file. + </para> + </listitem> + </varlistentry> </variablelist> If any parameter is unspecified, then the corresponding diff --git a/src/backend/Makefile b/src/backend/Makefile index 9df4b921d10d2c11ba5f832b2fa8b71c04d7e556..d53888096c8bcd32e115d060fcd1b11775968380 100644 --- a/src/backend/Makefile +++ b/src/backend/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.90 2003/01/06 03:18:26 momjian Exp $ +# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.91 2003/01/07 04:25:29 momjian Exp $ # #------------------------------------------------------------------------- @@ -140,8 +140,9 @@ else > $(srcdir)/libpq/pg_hba.conf.sample.no_ipv6 $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample.no_ipv6 $(DESTDIR)$(datadir)/pg_hba.conf.sample endif + $(INSTALL_DATA) $(srcdir)/libpq/pg_service.conf.sample $(DESTDIR)$(datadir)/pg_service.conf.sample $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample $(DESTDIR)$(datadir)/pg_ident.conf.sample - $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample $(DESTDIR)$(datadir)/postgresql.conf.sample + $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample $(DESTDIR)$(datadir)/postgresql.conf.sample install-bin: postgres $(POSTGRES_IMP) installdirs $(INSTALL_PROGRAM) postgres$(X) $(DESTDIR)$(bindir)/postgres$(X) @@ -179,8 +180,9 @@ endif endif $(MAKE) -C catalog uninstall-data rm -f $(DESTDIR)$(datadir)/pg_hba.conf.sample \ + $(DESTDIR)$(datadir)/pg_service.conf.sample \ $(DESTDIR)$(datadir)/pg_ident.conf.sample \ - $(DESTDIR)$(datadir)/postgresql.conf.sample + $(DESTDIR)$(datadir)/postgresql.conf.sample ########################################################################## diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 7ff4de0debcffc97ca009ea53d8651c85af3f7a4..0e015f191fa157a9abf507b76f157ad81962e846 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.218 2003/01/06 22:48:16 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.219 2003/01/07 04:25:29 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -2338,14 +2338,11 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage) return 1; } - /* As default, set the database name to the name of the service */ + /* If not already set, set the database name to the name of the service */ for (i = 0; options[i].keyword; i++) if (strcmp(options[i].keyword, "dbname") == 0) - { - if (options[i].val != NULL) - free(options[i].val); - options[i].val = strdup(service); - } + if (options[i].val == NULL) + options[i].val = strdup(service); while ((line = fgets(buf, MAXBUFSIZE - 1, f)) != NULL) {