Thread: initdb failing (10.4 centos7)

initdb failing (10.4 centos7)

From
Michael Nolan
Date:
initdb is failing on Centos 7 with 10.4 because the install procedure does not change the ownership of the /usr/local/pgsql directory to postgres. 

Changing the ownership fixes the problem, but the install procedure should do this. 
--
Mike Nolan

Re: initdb failing (10.4 centos7)

From
Adrian Klaver
Date:
On 05/19/2018 12:10 PM, Michael Nolan wrote:
> initdb is failing on Centos 7 with 10.4 because the install procedure 
> does not change the ownership of the /usr/local/pgsql directory to 
> postgres.
> 
> Changing the ownership fixes the problem, but the install procedure 
> should do this.

Did you follow the below?:

https://www.postgresql.org/download/linux/redhat/
"
For RHEL / CentOS / SL / OL 7 or Fedora 27 and later derived distributions:

   postgresql-setup initdb
   systemctl enable postgresql.service
   systemctl start postgresql.service
"

If you did, what user did you do it as?


> --
> Mike Nolan


-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: initdb failing (10.4 centos7)

From
Don Seiler
Date:
On Sat, May 19, 2018 at 2:10 PM, Michael Nolan <htfoot@gmail.com> wrote:
initdb is failing on Centos 7 with 10.4 because the install procedure does not change the ownership of the /usr/local/pgsql directory to postgres. 

Changing the ownership fixes the problem, but the install procedure should do this. 


Are you using the PGDG repo packages, or the default CentOS repo packages? You should use PGDG and those should install under /var/lib/pgsql.

Don.
--
Don Seiler
www.seiler.us

Re: initdb failing (10.4 centos7)

From
Michael Nolan
Date:


On Sat, May 19, 2018 at 2:16 PM, Don Seiler <don@seiler.us> wrote:
On Sat, May 19, 2018 at 2:10 PM, Michael Nolan <htfoot@gmail.com> wrote:
initdb is failing on Centos 7 with 10.4 because the install procedure does not change the ownership of the /usr/local/pgsql directory to postgres. 

Changing the ownership fixes the problem, but the install procedure should do this. 


Are you using the PGDG repo packages, or the default CentOS repo packages? You should use PGDG and those should install under /var/lib/pgsql.

Don.
--
Don Seiler
www.seiler.us

I was installing from source code, so I did a configure and a build (as postgres) and then an install (as root).
--
Mike Nolan

Re: initdb failing (10.4 centos7)

From
Adrian Klaver
Date:
On 05/19/2018 03:16 PM, Michael Nolan wrote:
> 
> 
> On Sat, May 19, 2018 at 2:16 PM, Don Seiler <don@seiler.us 
> <mailto:don@seiler.us>> wrote:
> 
>     On Sat, May 19, 2018 at 2:10 PM, Michael Nolan <htfoot@gmail.com
>     <mailto:htfoot@gmail.com>> wrote:
> 
>         initdb is failing on Centos 7 with 10.4 because the install
>         procedure does not change the ownership of the /usr/local/pgsql
>         directory to postgres.
> 
>         Changing the ownership fixes the problem, but the install
>         procedure should do this. 
> 
> 
> 
>     Are you using the PGDG repo packages, or the default CentOS repo
>     packages? You should use PGDG and those should install under
>     /var/lib/pgsql.
> 
>     Don.
>     -- 
>     Don Seiler
>     www.seiler.us <http://www.seiler.us>
> 
> 
> I was installing from source code, so I did a configure and a build (as 
> postgres) and then an install (as root).

Then setting up the $DATADIR is on you:

https://www.postgresql.org/docs/10/static/install-short.html


> --
> Mike Nolan


-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: initdb failing (10.4 centos7)

From
Michael Nolan
Date:


On Sat, May 19, 2018 at 5:23 PM, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 05/19/2018 03:16 PM, Michael Nolan wrote:


On Sat, May 19, 2018 at 2:16 PM, Don Seiler <don@seiler.us <mailto:don@seiler.us>> wrote:

    On Sat, May 19, 2018 at 2:10 PM, Michael Nolan <htfoot@gmail.com
    <mailto:htfoot@gmail.com>> wrote:

        initdb is failing on Centos 7 with 10.4 because the install
        procedure does not change the ownership of the /usr/local/pgsql
        directory to postgres.

        Changing the ownership fixes the problem, but the install
        procedure should do this.


    Are you using the PGDG repo packages, or the default CentOS repo
    packages? You should use PGDG and those should install under
    /var/lib/pgsql.

    Don.
    --     Don Seiler
    www.seiler.us <http://www.seiler.us>


I was installing from source code, so I did a configure and a build (as postgres) and then an install (as root).

Then setting up the $DATADIR is on you:

https://www.postgresql.org/docs/10/static/install-short.html


Shouldn't this also be mentioned in the INSTALL file in the source directory then?
--
Mike Nolan


--
Mike Nolan


--
Adrian Klaver
adrian.klaver@aklaver.com

Re: initdb failing (10.4 centos7)

From
Adrian Klaver
Date:
On 05/19/2018 03:44 PM, Michael Nolan wrote:
> 
> 
> On Sat, May 19, 2018 at 5:23 PM, Adrian Klaver 
> <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:
> 
>     On 05/19/2018 03:16 PM, Michael Nolan wrote:
> 
> 
> 
>         On Sat, May 19, 2018 at 2:16 PM, Don Seiler <don@seiler.us
>         <mailto:don@seiler.us> <mailto:don@seiler.us
>         <mailto:don@seiler.us>>> wrote:
> 
>              On Sat, May 19, 2018 at 2:10 PM, Michael Nolan
>         <htfoot@gmail.com <mailto:htfoot@gmail.com>
>              <mailto:htfoot@gmail.com <mailto:htfoot@gmail.com>>> wrote:
> 
>                  initdb is failing on Centos 7 with 10.4 because the install
>                  procedure does not change the ownership of the
>         /usr/local/pgsql
>                  directory to postgres.
> 
>                  Changing the ownership fixes the problem, but the install
>                  procedure should do this.
> 
> 
>              Are you using the PGDG repo packages, or the default CentOS
>         repo
>              packages? You should use PGDG and those should install under
>              /var/lib/pgsql.
> 
>              Don.
>              --     Don Seiler
>         www.seiler.us <http://www.seiler.us> <http://www.seiler.us>
> 
> 
>         I was installing from source code, so I did a configure and a
>         build (as postgres) and then an install (as root).
> 
> 
>     Then setting up the $DATADIR is on you:
> 
>     https://www.postgresql.org/docs/10/static/install-short.html
>     <https://www.postgresql.org/docs/10/static/install-short.html>
> 
> 
> Shouldn't this also be mentioned in the INSTALL file in the source 
> directory then?

In the INSTALL file that came with the 10.4 version I downloaded it is:

head -n 30 INSTALL
 

                   PostgreSQL Installation from Source Code 
 

 
 

    This document describes the installation of PostgreSQL using the 
source 

    code distribution. (If you are installing a pre-packaged 
distribution, 

    such as an RPM or Debian package, ignore this document and read the 
 

    packager's instructions instead.) 
 

      __________________________________________________________________ 
 

 
 

                                 Short Version 
 

 
 

./configure 
 

make 
 

su 
 

make install 
 

adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test

    The long version is the rest of this document.
      __________________________________________________________________

                                 Requirements

    In general, a modern Unix-compatible platform should be able to run
    PostgreSQL. The platforms that had received specific testing at the

...

Setting up $DATADIR is left up to the user as it a matter of choice for 
where you want to locate it.


> --
> Mike Nolan
> 
> 
> 
>         --
>         Mike Nolan
> 
> 
> 
>     -- 
>     Adrian Klaver
>     adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: initdb failing (10.4 centos7)

From
Adrian Klaver
Date:
On 05/19/2018 03:44 PM, Michael Nolan wrote:
> 
> 
> On Sat, May 19, 2018 at 5:23 PM, Adrian Klaver 
> <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:
> 

> 
>     Then setting up the $DATADIR is on you:
> 
>     https://www.postgresql.org/docs/10/static/install-short.html
>     <https://www.postgresql.org/docs/10/static/install-short.html>
> 
> 
> Shouldn't this also be mentioned in the INSTALL file in the source 
> directory then?

It is also in the Getting Started portion of INSTALL.

> --
> Mike Nolan
> 
> 
> 
>         --
>         Mike Nolan
> 
> 
> 
>     -- 
>     Adrian Klaver
>     adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


initdb failing (10.4 centos7)

From
"David G. Johnston"
Date:
On Saturday, May 19, 2018, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 05/19/2018 03:44 PM, Michael Nolan wrote:


On Sat, May 19, 2018 at 5:23 PM, Adrian Klaver <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:



    Then setting up the $DATADIR is on you:

    https://www.postgresql.org/docs/10/static/install-short.html
    <https://www.postgresql.org/docs/10/static/install-short.html>


Shouldn't this also be mentioned in the INSTALL file in the source directory then?

It is also in the Getting Started portion of INSTALL.

IIUC the INSTALL file is simply an artifact of the build process for which the doc sgml file is the source so they should indeed match.

While practically speaking one must initdb at least once after installation in order for the product to be useful initdb is itself not really part of the core installation routine.  IOW it is outside of what the make routine is responsible for and, as documented, it doesn't deal with permissions explicitly nor does it create parent directories.

David J.

Re: initdb failing (10.4 centos7)

From
Adrian Klaver
Date:
On 05/19/2018 04:06 PM, David G. Johnston wrote:
> On Saturday, May 19, 2018, Adrian Klaver <adrian.klaver@aklaver.com 
> <mailto:adrian.klaver@aklaver.com>> wrote:
> 
>     On 05/19/2018 03:44 PM, Michael Nolan wrote:
> 
> 
> 
>         On Sat, May 19, 2018 at 5:23 PM, Adrian Klaver
>         <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
>         <mailto:adrian.klaver@aklaver.com
>         <mailto:adrian.klaver@aklaver.com>>> wrote:
> 
> 
> 
>              Then setting up the $DATADIR is on you:
> 
>         https://www.postgresql.org/docs/10/static/install-short.html
>         <https://www.postgresql.org/docs/10/static/install-short.html>
>             
>         <https://www.postgresql.org/docs/10/static/install-short.html
>         <https://www.postgresql.org/docs/10/static/install-short.html>>
> 
> 
>         Shouldn't this also be mentioned in the INSTALL file in the
>         source directory then?
> 
> 
>     It is also in the Getting Started portion of INSTALL. 
> 
> 
> IIUC the INSTALL file is simply an artifact of the build process for 
> which the doc sgml file is the source so they should indeed match.

They are close but they do not match, there is no Getting Started 
section in the Installation portion of the Web docs:

https://www.postgresql.org/docs/10/static/installation.html

> 
> While practically speaking one must initdb at least once after 
> installation in order for the product to be useful initdb is itself not 
> really part of the core installation routine.  IOW it is outside of what 
> the make routine is responsible for and, as documented, it doesn't deal 
> with permissions explicitly nor does it create parent directories.
> 
> David J.


-- 
Adrian Klaver
adrian.klaver@aklaver.com