diff --git a/contrib/Makefile b/contrib/Makefile
index f74678b184cae6eec4be3f769291463a2d0fd17a..7485110ed5f3f7c1d9d78f2a9af3d7b4aefe4ba4 100644
--- a/contrib/Makefile
+++ b/contrib/Makefile
@@ -30,6 +30,13 @@ install:
 	    fi; \
 	done
 
+install-doc:	
+	for dir in *; do \
+	    if [ -e $$dir/Makefile ]; then \
+		$(MAKE) -C $$dir $@ ; \
+	    fi; \
+	done || exit 0
+
 clean:	
 	for dir in *; do \
 	    if [ -e $$dir/Makefile ]; then \
diff --git a/contrib/array/Makefile b/contrib/array/Makefile
index 5607b4e537032a2f06858bd98326b0aa5390e793..85e8d42ade4239dfc1b6e6144a54575a9be15058 100644
--- a/contrib/array/Makefile
+++ b/contrib/array/Makefile
@@ -39,6 +39,13 @@ install:	$(MODULE) $(SQLDEFS) $(MODDIR) $(SQLDIR)
 		strip $(MODDIR)/$(MODULE)
 		cp -p $(SQLDEFS) $(SQLDIR)/
 
+install-doc:	
+		if [ -d "$(DOCDIR)" ]; then \
+		    cp -p *.doc $(DOCDIR); \
+		else \
+		    cp -p *.doc $(SQLDIR); \
+		fi
+
 $(MODDIR):
 		mkdir -p $@
 
diff --git a/contrib/array/array_iterator.c b/contrib/array/array_iterator.c
index 27902e585f852b91365c4dc849152af57ee2bba9..5417d2da52f69050b1d87f926eb33208ea122c98 100644
--- a/contrib/array/array_iterator.c
+++ b/contrib/array/array_iterator.c
@@ -6,9 +6,12 @@
  * elements of the array and the value and compute a result as
  * the logical OR or AND of the iteration results.
  *
- * Copyright (c) 1997, Massimo Dal Zotto <dz@cs.unitn.it>
+ * Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
  * ported to postgreSQL 6.3.2,added oid_functions, 18.1.1999,
  * Tobias Gabele <gabele@wiz.uni-kassel.de>
+ *
+ * This software is distributed under the GNU General Public License
+ * either version 2, or (at your option) any later version.
  */
 
 #include <ctype.h>
diff --git a/contrib/array/array_iterator.doc b/contrib/array/array_iterator.doc
index 031301799c6fc673180f699de563dd9deae30e73..b072ebe397005dbf6882808827784df836423862 100644
--- a/contrib/array/array_iterator.doc
+++ b/contrib/array/array_iterator.doc
@@ -1,4 +1,9 @@
 Array iterator functions, by Massimo Dal Zotto <dz@cs.unitn.it>
+Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
+
+This software is distributed under the GNU General Public License
+either version 2, or (at your option) any later version.
+
 
 This loadable module defines a new class of functions which take
 an array and a scalar value, iterate a scalar operator over the
diff --git a/contrib/datetime/Makefile b/contrib/datetime/Makefile
index 5a575d07eb4bf36d660eef30325d9cbd1c3e4b51..b53293e172234420a608abc6c89cc7c0d24b88b6 100644
--- a/contrib/datetime/Makefile
+++ b/contrib/datetime/Makefile
@@ -39,6 +39,13 @@ install:	$(MODULE) $(SQLDEFS) $(MODDIR) $(SQLDIR)
 		strip $(MODDIR)/$(MODULE)
 		cp -p $(SQLDEFS) $(SQLDIR)/
 
+install-doc:	
+		if [ -d "$(DOCDIR)" ]; then \
+		    cp -p *.doc $(DOCDIR); \
+		else \
+		    cp -p *.doc $(SQLDIR); \
+		fi
+
 $(MODDIR):
 		mkdir -p $@
 
diff --git a/contrib/datetime/datetime_functions.c b/contrib/datetime/datetime_functions.c
index 54995220042434b6a07e33a5331c56c5ea577c2f..910647118aa772bf78dee2c34139c68bb5f2e5ec 100644
--- a/contrib/datetime/datetime_functions.c
+++ b/contrib/datetime/datetime_functions.c
@@ -3,9 +3,9 @@
  *
  * This file defines new functions for the time and date data types.
  *
- * Copyright (c) 1998, Massimo Dal Zotto <dz@cs.unitn.it>
+ * Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
  *
- * This file is distributed under the GNU General Public License
+ * This software is distributed under the GNU General Public License
  * either version 2, or (at your option) any later version.
  */
 
diff --git a/contrib/datetime/datetime_functions.doc b/contrib/datetime/datetime_functions.doc
index 33b41d02181d46cd8f09b499b69118348359aeb7..66f4d376d61dafa38fa6e03bda984181e7fd0a0a 100644
--- a/contrib/datetime/datetime_functions.doc
+++ b/contrib/datetime/datetime_functions.doc
@@ -1,3 +1,10 @@
+Datetime functions.
+Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
+
+This software is distributed under the GNU General Public License
+either version 2, or (at your option) any later version.
+
+
 I have written some new funtions for time and date data types which can
 be used to extract hour,minutes,seconds from time values, and year,
 month,day from a date. There is also a time_difference and functions
diff --git a/contrib/miscutil/Makefile b/contrib/miscutil/Makefile
index 88372da0f7a33ada550efd64d299fc2c7c79b1dd..fa3c99fa1db415ff372f6d910b38f7d6a9d605c4 100644
--- a/contrib/miscutil/Makefile
+++ b/contrib/miscutil/Makefile
@@ -39,6 +39,13 @@ install:	$(MODULE) $(SQLDEFS) $(MODDIR) $(SQLDIR)
 		strip $(MODDIR)/$(MODULE)
 		cp -p $(SQLDEFS) $(SQLDIR)/
 
+install-doc:	
+		if [ -d "$(DOCDIR)" ]; then \
+		    cp -p *.doc $(DOCDIR); \
+		else \
+		    cp -p *.doc $(SQLDIR); \
+		fi
+
 $(MODDIR):
 		mkdir -p $@
 
diff --git a/contrib/miscutil/misc_utils.c b/contrib/miscutil/misc_utils.c
index d9237bd9dbba10c4e478877a16306c2501406247..21341dc73c9e750a174b9f0ff1338e4a707a9fd4 100644
--- a/contrib/miscutil/misc_utils.c
+++ b/contrib/miscutil/misc_utils.c
@@ -3,7 +3,7 @@
  *
  * This file defines miscellaneous PostgreSQL utility functions.
  *
- * Copyright (c) 1998, Massimo Dal Zotto <dz@cs.unitn.it>
+ * Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
  *
  * This file is distributed under the GNU General Public License
  * either version 2, or (at your option) any later version.
diff --git a/contrib/miscutil/misc_utils.doc b/contrib/miscutil/misc_utils.doc
index d1e3ac29ab8bf92472d91dbffe3ffff44e12879b..903455513a2533535abd223e0df478477b205e6b 100644
--- a/contrib/miscutil/misc_utils.doc
+++ b/contrib/miscutil/misc_utils.doc
@@ -1,4 +1,8 @@
 Miscellaneous utility functions for PostgreSQL.
+Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
+
+This software is distributed under the GNU General Public License
+either version 2, or (at your option) any later version.
 
 query_limit(n)
 
diff --git a/contrib/string/Makefile b/contrib/string/Makefile
index 879fd2387f97eec1b867fe4e9f5a494a945bc1af..b77ace937cf85842c6edc153bdc1b7f478f47dfa 100644
--- a/contrib/string/Makefile
+++ b/contrib/string/Makefile
@@ -39,6 +39,13 @@ install:	$(MODULE) $(SQLDEFS) $(MODDIR) $(SQLDIR)
 		strip $(MODDIR)/$(MODULE)
 		cp -p $(SQLDEFS) $(SQLDIR)/
 
+install-doc:	
+		if [ -d "$(DOCDIR)" ]; then \
+		    cp -p *.doc $(DOCDIR); \
+		else \
+		    cp -p *.doc $(SQLDIR); \
+		fi
+
 $(MODDIR):
 		mkdir -p $@
 
diff --git a/contrib/string/string_io.c b/contrib/string/string_io.c
index f28968cbe545161b2b26a269e1142cfdd207c4f1..e1fc867497fdb4f121cb4c6202f2629b4fb50f78 100644
--- a/contrib/string/string_io.c
+++ b/contrib/string/string_io.c
@@ -3,9 +3,9 @@
  *
  * This file defines C-like input/output conversion routines for strings.
  *
- * Copyright (c) 1998, Massimo Dal Zotto <dz@cs.unitn.it>
+ * Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
  *
- * This file is distributed under the GNU General Public License
+ * This software is distributed under the GNU General Public License
  * either version 2, or (at your option) any later version.
  */
 
diff --git a/contrib/string/string_io.doc b/contrib/string/string_io.doc
index af4b974785917e1d1406d579188cc94f96d8d9ef..4b4d10166f82d72151dce3687e5e483141a0f20e 100644
--- a/contrib/string/string_io.doc
+++ b/contrib/string/string_io.doc
@@ -1,3 +1,10 @@
+String io module for postgresql.
+Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
+
+This software is distributed under the GNU General Public License
+either version 2, or (at your option) any later version.
+
+
 These output functions can be used as substitution of the standard text
 output functions to get the value of text fields printed in the format
 used for C strings. This allows the output of queries or the exported
diff --git a/contrib/userlock/Makefile b/contrib/userlock/Makefile
index e6cc6c37affcb9ba06421e0c0f7ec60e7b68b149..391956ad7e77189822ff91bafdcdce1d67628b8a 100644
--- a/contrib/userlock/Makefile
+++ b/contrib/userlock/Makefile
@@ -39,6 +39,13 @@ install:	$(MODULE) $(SQLDEFS) $(MODDIR) $(SQLDIR)
 		strip $(MODDIR)/$(MODULE)
 		cp -p $(SQLDEFS) $(SQLDIR)/
 
+install-doc:	
+		if [ -d "$(DOCDIR)" ]; then \
+		    cp -p *.doc $(DOCDIR); \
+		else \
+		    cp -p *.doc $(SQLDIR); \
+		fi
+
 $(MODDIR):
 		mkdir -p $@
 
diff --git a/contrib/userlock/user_locks.c b/contrib/userlock/user_locks.c
index 8631d2f6067cc222bdcdb5d763614a8449ee70f3..1a596d515401696034e38dff0fedd0256500b059 100644
--- a/contrib/userlock/user_locks.c
+++ b/contrib/userlock/user_locks.c
@@ -4,9 +4,9 @@
  * This loadable module, together with my user-lock.patch applied to the
  * backend, provides support for user-level long-term cooperative locks.
  *
- * Copyright (c) 1998, Massimo Dal Zotto <dz@cs.unitn.it>
+ * Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
  *
- * This file is distributed under the GNU General Public License
+ * This software is distributed under the GNU General Public License
  * either version 2, or (at your option) any later version.
  */
 
diff --git a/contrib/userlock/user_locks.doc b/contrib/userlock/user_locks.doc
index c7a4321dec7098102ce5a05d1cccc6dec69c46aa..4c923a46577265f16fe228a8f9c521250d966958 100644
--- a/contrib/userlock/user_locks.doc
+++ b/contrib/userlock/user_locks.doc
@@ -1,4 +1,9 @@
 User locks, by Massimo Dal Zotto <dz@cs.unitn.it>
+Copyright (C) 1999, Massimo Dal Zotto <dz@cs.unitn.it>
+
+This software is distributed under the GNU General Public License
+either version 2, or (at your option) any later version.
+
 
 This loadable module, together with my user-lock.patch applied to the
 backend, provides support for user-level long-term cooperative locks.