diff --git a/src/man/explain.l b/src/man/explain.l
index 2e15c0e0edbde1baf374c864a97947dd2b222b89..4e49254061c2eaf450984181eaa86014f945d67e 100644
--- a/src/man/explain.l
+++ b/src/man/explain.l
@@ -1,7 +1,7 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/explain.l,v 1.4 1997/01/16 14:56:59 momjian Exp $
-.TH EXPLAIN SQL 11/05/95 PostgreSQL PostgreSQL
+.\" $Header: /cvsroot/pgsql/src/man/Attic/explain.l,v 1.5 1997/06/12 23:45:54 thomas Exp $
+.TH EXPLAIN SQL 06/12/97 PostgreSQL PostgreSQL
 .SH NAME
 explain \(em explains statement execution details
 .SH SYNOPSIS
@@ -12,6 +12,50 @@ explain \(em explains statement execution details
 This command outputs details about the supplied query.  The default
 output is the computed query cost.  \f2verbose\f1 displays the full query
 plan and cost.
+
+.SH EXAMPLES
+In the examples, the table has a single column of float4.
+\fBcost\fR is the cost of scanning a base/join relation,
+\fBsize\fR is the expected number of tuples from a scan,
+\fBwidth\fR is the length of a tuple.
+
+.nf
+tgl=> explain select a from test\g
+NOTICE:QUERY PLAN:
+
+Seq Scan on test  (cost=0.00 size=0 width=4)
+
+EXPLAIN
+tgl=> explain verbose select sum(a) from test;
+NOTICE:QUERY PLAN:
+
+{AGG :cost 0 :size 0 :width 0 :state nil :qptargetlist
+ ({TLE :resdom {RESDOM :resno 1 :restype 700 :reslen 4 :resname "sum"
+   :reskey 0 :reskeyop 0 :resjunk 0}
+  :expr {AGGREG :aggname "sum" :basetype 700 :aggtype 700 :aggno 0
+ :target {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}}})
+ :qpqual nil :lefttree {SEQSCAN :cost 0 :size 0 :width 4 :state nil
+  :qptargetlist ({TLE :resdom {RESDOM :resno 1 :restype 700 :reslen 4
+   :resname "null" :reskey 0 :reskeyop 0 :resjunk 0}
+  :expr {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}})
+ :qpqual nil :lefttree nil :righttree nil :scanrelid 1} :righttree nil :numagg 1 }
+
+Aggregate  (cost=0.00 size=0 width=0)
+  ->   Seq Scan on test  (cost=0.00 size=0 width=4)
+.fi
+
+The Postgres optimizer has chosen to use a sequential scan to retrieve rows from
+this table. Indices will used by the optimizer
+after tables grow large enough to warrant the access
+overhead; typically this might happen when tables have a few hundred rows.
+
+.SH "SEE ALSO"
+delete(l),
+insert(l),
+select(l).
+
+.SH BUGS
+
 .PP
 The query cost and plan can be affected by running vacuum.