On Fri, Nov  4, 2011 at 12:32:13PM -0400, Bruce Momjian wrote:
> Thom Brown wrote:
> > > So if one set PGDATA to somewhere which had no database files at all,
> > > but just postgresql.conf, it could still work (assuming it, in turn,
> > > set data_directory correctly), but not vice versa. ?It would make more
> > > sense to call it PGCONFIG, although I'm not proposing that, especially
> > > since PGDATA makes sense when it comes to initdb.
> > >
> > > There are probably plenty of other places in the docs which also don't
> > > adequately describe PGDATA or -D.
> > >
> > > Any disagreements? ?If not, should I write a patch (since someone will
> > > probably accuse me of volunteering anyway) or would someone like to
> > > commit some adjustments?
> > 
> > No opinions on this?
> 
> Yes.  I had kept it to deal with later.  Please work on a doc patch to
> try to clean this up.  pg_upgrade just went through this confusion and I
> also was unhappy at how vague things are in this area.
> 
> Things got very confusing with pg_upgrade when PGDATA pointed to the
> configuration directory and the data_directory GUC pointed to the data
> directory.

I have applied the attached doc patch for PG 9.3 to clarify PGDATA.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +
diff --git a/doc/src/sgml/ref/pg_ctl-ref.sgml b/doc/src/sgml/ref/pg_ctl-ref.sgml
new file mode 100644
index 90725d9..7a4c2be
*** a/doc/src/sgml/ref/pg_ctl-ref.sgml
--- b/doc/src/sgml/ref/pg_ctl-ref.sgml
*************** PostgreSQL documentation
*** 261,267 ****
        <term><option>--pgdata <replaceable class="parameter">datadir</replaceable></option></term>
        <listitem>
         <para>
!         Specifies the file system location of the database files.  If
          this is omitted, the environment variable
          <envar>PGDATA</envar> is used.
         </para>
--- 261,267 ----
        <term><option>--pgdata <replaceable class="parameter">datadir</replaceable></option></term>
        <listitem>
         <para>
!         Specifies the file system location of the database configuration files.  If
          this is omitted, the environment variable
          <envar>PGDATA</envar> is used.
         </para>
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
new file mode 100644
index a1f36e1..41745fb
*** a/doc/src/sgml/ref/postgres-ref.sgml
--- b/doc/src/sgml/ref/postgres-ref.sgml
*************** PostgreSQL documentation
*** 179,186 ****
        <term><option>-D <replaceable class="parameter">datadir</replaceable></option></term>
        <listitem>
         <para>
!         Specifies the file system location of the data directory or
!         configuration file(s).  See
          <xref linkend="runtime-config-file-locations"> for details.
         </para>
        </listitem>
--- 179,186 ----
        <term><option>-D <replaceable class="parameter">datadir</replaceable></option></term>
        <listitem>
         <para>
!         Specifies the file system location of the database
!         configuration files.  See
          <xref linkend="runtime-config-file-locations"> for details.
         </para>
        </listitem>
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
new file mode 100644
index bd2dca3..e0a93c1
*** a/doc/src/sgml/storage.sgml
--- b/doc/src/sgml/storage.sgml
*************** directories.
*** 19,25 ****
  </para>
  
  <para>
! All the data needed for a database cluster is stored within the cluster's data
  directory, commonly referred to as <varname>PGDATA</> (after the name of the
  environment variable that can be used to define it).  A common location for
  <varname>PGDATA</> is <filename>/var/lib/pgsql/data</>.  Multiple clusters,
--- 19,26 ----
  </para>
  
  <para>
! Traditionally, the configuration and data files used by a database
! cluster are stored together within the cluster's data
  directory, commonly referred to as <varname>PGDATA</> (after the name of the
  environment variable that can be used to define it).  A common location for
  <varname>PGDATA</> is <filename>/var/lib/pgsql/data</>.  Multiple clusters,
*************** these required items, the cluster config
*** 33,39 ****
  <filename>postgresql.conf</filename>, <filename>pg_hba.conf</filename>, and
  <filename>pg_ident.conf</filename> are traditionally stored in
  <varname>PGDATA</> (although in <productname>PostgreSQL</productname> 8.0 and
! later, it is possible to keep them elsewhere).
  </para>
  
  <table tocentry="1" id="pgdata-contents-table">
--- 34,40 ----
  <filename>postgresql.conf</filename>, <filename>pg_hba.conf</filename>, and
  <filename>pg_ident.conf</filename> are traditionally stored in
  <varname>PGDATA</> (although in <productname>PostgreSQL</productname> 8.0 and
! later, it is possible to place them elsewhere).
  </para>
  
  <table tocentry="1" id="pgdata-contents-table">
-- 
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

Reply via email to