diff --git a/contrib/findoidjoins/findoidjoins.c b/contrib/findoidjoins/findoidjoins.c
index 56e936b8a57ee72046b8f6d0e2e161558e1bed93..f638a9f488fa7e96233cd05a92a37471467033aa 100644
--- a/contrib/findoidjoins/findoidjoins.c
+++ b/contrib/findoidjoins/findoidjoins.c
@@ -22,11 +22,14 @@ main(int argc, char **argv)
 	char		attname[256];
 	char		typname[256];
 	int			count;
+	char	    optstr[256];
 
 	if (argc != 2)
 		halt("Usage:  %s database\n", argv[0]);
 
-	connectdb(NULL, NULL, NULL, NULL, argv[1]);
+	snprintf(optstr, 256, "dbname=%s", argv[1]);
+	connectdb(optstr);
+
 	on_error_continue();
 	on_error_stop();
 
diff --git a/doc/src/sgml/libpgeasy.sgml b/doc/src/sgml/libpgeasy.sgml
index d3f6d21209c655ccdb0d7ec3c8a4d313e32147f6..c06df9aab72f4f78aa4f059202aa629f518d54ce 100644
--- a/doc/src/sgml/libpgeasy.sgml
+++ b/doc/src/sgml/libpgeasy.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpgeasy.sgml,v 2.2 2000/04/27 18:45:43 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpgeasy.sgml,v 2.3 2000/05/18 14:24:31 momjian Exp $
 -->
 
  <chapter id="pgeasy-chapter">
@@ -35,7 +35,7 @@ PGresult   *doquery(char *query);
 
     <listitem>
      <para>
-PGconn     *connectdb();
+PGconn     *connectdb(char *options);
      </para>
     </listitem>
 
@@ -108,7 +108,7 @@ void        unset_result(PGresult *oldres);
   </para>
 
   <para>
-   For <literal>select</literal> queries, <function>fetch</function>
+   For <literal>SELECT</literal> queries, <function>fetch</function>
    allows you to pass pointers as parameters, and on return the variables
    are filled with data from the binary cursor you opened.  These binary
    cursors can not be used if you are running the
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index 6dc678671664c3b2c62f623b53411d7761db6f20..74f8ba18fea03d14c7807732575fe308a58b37bf 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.3 2000/03/31 06:17:21 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.4 2000/05/18 14:24:32 momjian Exp $
 -->
 
  <chapter>
@@ -303,7 +303,7 @@ CREATE TRIGGER trig_mytab_modcount BEFORE INSERT OR UPDATE ON mytab
       <term>elog <replaceable>level</replaceable> <replaceable>msg</replaceable></term>
       <listitem>
        <para>
-	Fire a log message. Possible levels are NOTICE, WARN, ERROR,
+	Fire a log message. Possible levels are NOTICE, ERROR,
 	FATAL, DEBUG and NOIND
 	like for the <function>elog</function> C function.
        </para>
diff --git a/doc/src/sgml/ref/drop_aggregate.sgml b/doc/src/sgml/ref/drop_aggregate.sgml
index 5d091b8c99bfb42ef613b15fe0277c2bcf16fbfd..465f5d6421588cf0aed51cc4f348a105a27016f0 100644
--- a/doc/src/sgml/ref/drop_aggregate.sgml
+++ b/doc/src/sgml/ref/drop_aggregate.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.6 1999/07/22 15:09:10 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.7 2000/05/18 14:24:32 momjian Exp $
 Postgres documentation
 -->
 
@@ -80,7 +80,7 @@ DROP
      </varlistentry>
      <varlistentry>
       <term><computeroutput>
-WARN RemoveAggregate: aggregate '<replaceable class="parameter">agg</replaceable>' for '<replaceable class="parameter">type</replaceable>' does not exist
+NOTICE RemoveAggregate: aggregate '<replaceable class="parameter">agg</replaceable>' for '<replaceable class="parameter">type</replaceable>' does not exist
        </computeroutput></term>
       <listitem>
        <para>
diff --git a/doc/src/sgml/ref/drop_function.sgml b/doc/src/sgml/ref/drop_function.sgml
index 888929e928e7d0ea9c903ee7b2da142109c7ef48..f3e66454496a5682d0a7f251b0dce9307f936171 100644
--- a/doc/src/sgml/ref/drop_function.sgml
+++ b/doc/src/sgml/ref/drop_function.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.7 1999/07/22 15:09:10 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.8 2000/05/18 14:24:33 momjian Exp $
 Postgres documentation
 -->
 
@@ -77,7 +77,7 @@ DROP
      </varlistentry>
      <varlistentry>
       <term><computeroutput>
-WARN RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist
+NOTICE RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist
        </computeroutput></term>
       <listitem>
        <para>
diff --git a/doc/src/sgml/ref/drop_sequence.sgml b/doc/src/sgml/ref/drop_sequence.sgml
index a6c39c1b6fdd3cdcdfbfe49887cf18db4bea6d24..16db5a47c95fa12abc7ec1773fdcf0b87a9fda5e 100644
--- a/doc/src/sgml/ref/drop_sequence.sgml
+++ b/doc/src/sgml/ref/drop_sequence.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.6 1999/07/22 15:09:10 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.7 2000/05/18 14:24:33 momjian Exp $
 Postgres documentation
 -->
 
@@ -69,7 +69,7 @@ DROP
      </varlistentry>
      <varlistentry>
       <term><computeroutput>
-WARN: Relation "<replaceable class="parameter">name</replaceable>" does not exist.
+NOTICE: Relation "<replaceable class="parameter">name</replaceable>" does not exist.
        </computeroutput></term>
       <listitem>
        <para>
diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml
index 84dfa32035a0ea9ee704db474cc18338d2da291e..6640f015131ff6f186b55061dc6734b5543fa0fc 100644
--- a/doc/src/sgml/ref/set.sgml
+++ b/doc/src/sgml/ref/set.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.42 2000/04/18 15:23:34 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.43 2000/05/18 14:24:33 momjian Exp $
 Postgres documentation
 -->
 
@@ -919,7 +919,7 @@ SET VARIABLE
      
      <varlistentry>
       <term><computeroutput>
-WARN:  Bad value for <replaceable class="parameter">variable</replaceable> (<replaceable class="parameter">value</replaceable>)
+NOTICE:  Bad value for <replaceable class="parameter">variable</replaceable> (<replaceable class="parameter">value</replaceable>)
        </computeroutput></term>
       <listitem>
        <para>
diff --git a/doc/src/sgml/start.sgml b/doc/src/sgml/start.sgml
index d895fe52fb44e8d3e80601ef8939dcb22dd11f09..438f3b76dba4100a93d69ddccb094502e7cb43bd 100644
--- a/doc/src/sgml/start.sgml
+++ b/doc/src/sgml/start.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.11 2000/05/02 20:01:52 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.12 2000/05/18 14:24:32 momjian Exp $
 -->
 
  <chapter id="start">
@@ -243,7 +243,7 @@ FATAL 1:Feb 17 23:19:55:process userid (2360) != database owner (268)
      the following:
      <programlisting>
 % createdb mydb
-WARN:user "your username" is not allowed to create/destroy databases
+NOTICE:user "your username" is not allowed to create/destroy databases
 createdb: database creation failed on mydb.
      </programlisting>
     </para>
diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml
index a13664cd3e92882839d028487b8ff151aaffcffe..aa476a61a5cccb655188c923145cfe030adcbb1c 100644
--- a/doc/src/sgml/trigger.sgml
+++ b/doc/src/sgml/trigger.sgml
@@ -423,7 +423,7 @@ trigf()
 	int		ret, i;
 
 	if (!CurrentTriggerData)
-		elog(WARN, "trigf: triggers are not initialized");
+		elog(NOTICE, "trigf: triggers are not initialized");
 	
 	/* tuple to return to Executor */
 	if (TRIGGER_FIRED_BY_UPDATE(CurrentTriggerData->tg_event))
@@ -446,13 +446,13 @@ trigf()
 	
 	/* Connect to SPI manager */
 	if ((ret = SPI_connect()) < 0)
-		elog(WARN, "trigf (fired %s): SPI_connect returned %d", when, ret);
+		elog(NOTICE, "trigf (fired %s): SPI_connect returned %d", when, ret);
 	
 	/* Get number of tuples in relation */
 	ret = SPI_exec("select count(*) from ttest", 0);
 	
 	if (ret < 0)
-		elog(WARN, "trigf (fired %s): SPI_exec returned %d", when, ret);
+		elog(NOTICE, "trigf (fired %s): SPI_exec returned %d", when, ret);
 	
 	i = SPI_getbinval(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1, &amp;isnull);
 	
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 1c5c617984a887e8a6cdb890af8eb536de4d1fa6..4a1c6c13a0e944675fe1124dd0570c082ab83fc2 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.14 2000/05/02 20:01:53 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.15 2000/05/18 14:24:32 momjian Exp $
 -->
 
  <chapter id="xfunc">
@@ -253,7 +253,7 @@ CREATE FUNCTION new_emp() RETURNS EMP
 
 	<programlisting>
 	 <computeroutput>
-WARN::function declared to return type EMP does not retrieve (EMP.*)
+NOTICE::function declared to return type EMP does not retrieve (EMP.*)
 	 </computeroutput>
 	</programlisting>
        </para>
@@ -286,7 +286,7 @@ SELECT name(new_emp()) AS nobody;
 
 	<programlisting>
 SELECT new_emp().name AS nobody;
-WARN:parser: syntax error at or near "."
+NOTICE:parser: syntax error at or near "."
 	</programlisting>
        </para>
       </listitem>
diff --git a/doc/src/sgml/xtypes.sgml b/doc/src/sgml/xtypes.sgml
index 62644ad6e66d3d555a880f70b42d23cf3557689a..6af5ae1d44aac7635f7dde17cd450fc470253192 100644
--- a/doc/src/sgml/xtypes.sgml
+++ b/doc/src/sgml/xtypes.sgml
@@ -55,7 +55,7 @@ complex_in(char *str)
     double x, y;
     Complex *result;
     if (sscanf(str, " ( %lf , %lf )", &amp;x, &amp;y) != 2) {
-        elog(WARN, "complex_in: error in parsing
+        elog(NOTICE, "complex_in: error in parsing
         return NULL;
     }
     result = (Complex *)palloc(sizeof(Complex));
diff --git a/src/interfaces/libpgeasy/examples/Makefile b/src/interfaces/libpgeasy/examples/Makefile
index db88f1b9ebc994bc83589ddad44278487e1e6787..1885bb425fba7c79d723b2f5c9c7bea12667cf39 100644
--- a/src/interfaces/libpgeasy/examples/Makefile
+++ b/src/interfaces/libpgeasy/examples/Makefile
@@ -4,12 +4,13 @@
 #    Makefile for pgeasy examples
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/interfaces/libpgeasy/examples/Attic/Makefile,v 1.1 1999/10/11 18:03:01 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/interfaces/libpgeasy/examples/Attic/Makefile,v 1.2 2000/05/18 14:24:37 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
+CFLAGS=-I/usr/local/pgsql/include
 TARGET = pginsert pgwordcount pgnulltest
-LDFLAGS = -lpgeasy
+LDFLAGS = -L/usr/local/pgsql/lib -lpgeasy
 
 all : $(TARGET)
 
diff --git a/src/interfaces/libpgeasy/examples/pginsert.c b/src/interfaces/libpgeasy/examples/pginsert.c
index 933d0ab1829811d8c50107016825bd77ba96e986..eac150109e10b41c09bce77545639a658e85de8d 100644
--- a/src/interfaces/libpgeasy/examples/pginsert.c
+++ b/src/interfaces/libpgeasy/examples/pginsert.c
@@ -23,11 +23,13 @@ main(int argc, char **argv)
 				avarchar[51],
 				atext[51];
 	time_t		aabstime;
+	char	    optstr[256];
 
 	if (argc != 2)
 		halt("Usage:  %s database\n", argv[0]);
 
-	connectdb(NULL, NULL, NULL, NULL, argv[1]);
+	snprintf(optstr, 256, "dbname=%s", argv[1]);
+	connectdb(optstr);
 
 	on_error_continue();
 	doquery("DROP TABLE testfetch");
diff --git a/src/interfaces/libpgeasy/examples/pgnulltest.c b/src/interfaces/libpgeasy/examples/pgnulltest.c
index 7fd8c7f9e275982f3277b193149e71db226a3159..9489a9d2912cac8d7b7f894ac3f9435ca675e292 100644
--- a/src/interfaces/libpgeasy/examples/pgnulltest.c
+++ b/src/interfaces/libpgeasy/examples/pgnulltest.c
@@ -34,11 +34,13 @@ main(int argc, char **argv)
 				avarchar_null,
 				atext_null,
 				aabstime_null;
+	char	    optstr[256];
 
 	if (argc != 2)
 		halt("Usage:  %s database\n", argv[0]);
 
-	connectdb(NULL, NULL, NULL, NULL, argv[1]);
+	snprintf(optstr, 256, "dbname=%s", argv[1]);
+	connectdb(optstr);
 
 	on_error_continue();
 	doquery("DROP TABLE testfetch");
diff --git a/src/interfaces/libpgeasy/examples/pgwordcount.c b/src/interfaces/libpgeasy/examples/pgwordcount.c
index df8d5b9d0c28d5acfdd9eebda3cd604db942e23b..d87349e95bd4e86191dc0f10edeed383c7604e69 100644
--- a/src/interfaces/libpgeasy/examples/pgwordcount.c
+++ b/src/interfaces/libpgeasy/examples/pgwordcount.c
@@ -15,11 +15,14 @@ main(int argc, char **argv)
 	int			row = 0;
 	int			count;
 	char		line[4000];
+	char	    optstr[256];
 
 	if (argc != 2)
 		halt("Usage:  %s database\n", argv[0]);
 
-	connectdb(NULL, NULL, NULL, NULL, argv[1]);
+	snprintf(optstr, 256, "dbname=%s", argv[1]);
+	connectdb(optstr);
+
 	on_error_continue();
 	doquery("DROP TABLE words");
 	on_error_stop();
diff --git a/src/interfaces/libpgeasy/libpgeasy.3 b/src/interfaces/libpgeasy/libpgeasy.3
deleted file mode 100644
index e90da0e790006b4c364d5013682345b407ff061c..0000000000000000000000000000000000000000
--- a/src/interfaces/libpgeasy/libpgeasy.3
+++ /dev/null
@@ -1,71 +0,0 @@
-.\" This is -*-nroff-*-
-.\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/interfaces/libpgeasy/Attic/libpgeasy.3,v 1.1 1999/10/12 14:06:49 momjian Exp $
-.TH PGEASY INTRO 08/08/98 PostgreSQL PostgreSQL
-.SH DESCRIPTION
-Pgeasy allows you to cleanly interface to the libpq library,
-more like a 4gl SQL interface.
-.PP
-It consists of set of simplified C functions that encapsulate the
-functionality of libpq.
-The functions are:
-
-.nf
-PGresult   *doquery(char *query);
-PGconn     *connectdb();
-void        disconnectdb();
-
-int         fetch(void *param,...);
-int         fetchwithnulls(void *param,...);
-void        reset_fetch();
-
-void        on_error_continue();
-void        on_error_stop();
-
-PGresult   *get_result();
-void        set_result(PGresult *newres);
-void        unset_result(PGresult *oldres);
-.fi
-.PP
-Many functions return a structure or value, so you can do more work
-with the result if required.  
-.PP
-You basically connect to the database with
-.BR connectdb ,
-issue your query with
-.BR doquery ,
-fetch the results with
-.BR fetch ,
-and finish with
-.BR disconnectdb .
-.PP
-For
-.IR select
-queries,
-.BR fetch 
-allows you to pass pointers as parameters, and on return the variables
-are filled with data from the binary cursor you opened.  These binary
-cursors can not be used if you are running the
-.BR pgeasy
-client on a system with a different architecture than the database
-server.  If you pass a NULL pointer parameter, the column is skipped.
-.BR fetchwithnulls
-allows you to retieve the
-.IR null
-status of the field by passing an
-.IR int*
-after each result pointer, which returns true or false if the field is null.
-You can always use libpq functions on the PGresult pointer returned by
-.BR doquery .
-.BR reset_fetch
-starts the fetch back at the beginning.
-.PP
-.BR get_result ,
-.BR set_result ,
-and
-.BR unset_result
-allow you to handle multiple result sets at the same time.
-.PP
-There are a variety of demonstration programs in the
-.BR pgeasy
-source directory.
diff --git a/src/interfaces/libpgeasy/libpgeasy.c b/src/interfaces/libpgeasy/libpgeasy.c
index 19b6d84167c15c6ec4b9fde046cbb0d30cab8fe1..f78a00cf64843a4736dd3f56d83665b0056dc641 100644
--- a/src/interfaces/libpgeasy/libpgeasy.c
+++ b/src/interfaces/libpgeasy/libpgeasy.c
@@ -44,16 +44,12 @@ static int	tuple;
 **
 */
 PGconn *
-connectdb(char *pghost,
-		  char *pgport,
-		  char *pgoptions,
-		  char *pgtty,
-		  char *dbName)
+connectdb(char *options)
 {
 	/* make a connection to the database */
-	conn = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName);
+	conn = PQconnectdb(options);
 	if (PQstatus(conn) == CONNECTION_BAD)
-		halt("Connection to database '%s' failed.\n%s\n", dbName,
+		halt("Connection to database using '%s' failed.\n%s\n", options,
 			 PQerrorMessage(conn));
 	return conn;
 }
diff --git a/src/interfaces/libpgeasy/libpgeasy.h b/src/interfaces/libpgeasy/libpgeasy.h
index 3686b4e92631d410efbe8a822d550c95c039bd5e..5ca12c80122d492e176512f81521bbd5152c7fff 100644
--- a/src/interfaces/libpgeasy/libpgeasy.h
+++ b/src/interfaces/libpgeasy/libpgeasy.h
@@ -4,11 +4,7 @@
 */
 
 PGresult   *doquery(char *query);
-PGconn *connectdb(char *pghost,
-		  char *pgport,
-		  char *pgoptions,
-		  char *pgtty,
-		  char *dbName);
+PGconn 	   *connectdb(char *options);
 void		disconnectdb(void);
 int			fetch(void *param,...);
 int			fetchwithnulls(void *param,...);