Re: running postgresql as a linux service

From: Ron St-Pierre <rstpierre(at)syscor(dot)com>
To: Raul Secan <raul(at)zerosoft(dot)ro>, pgsql-php(at)postgresql(dot)org
Subject: Re: running postgresql as a linux service
Date: 2004-03-23 15:58:03
Message-ID: 40605E8B.10205@syscor.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

When you install postgres from the rpm or the tar or zipped tar files,
you run configure, make and make install. When these are run they update
certain configuration files, including the file
/contrib/start-scripts/linux

If you look in your current /etc/init.d/postgres file you will probably see the line:
PGDATA=/var/lib/pgsql/data
If you look in the file contrib/start-scripts/linux you will see that PGDATA is set correctly as:
PGDATA="/usr/local/pgsql/data"
That is why you have to replace/overwrite the postgres file with the linux file, using the copy command:
cp contrib/start-scripts/linux /etc/init.d/postgres

Even before you do that you can try to start postgres as user postgres:
pg_ctl start -D /usr/local/pgsql/data
The pg_ctl executable is in the /usr/local/pgsql/bin directory, but if postgres is properly installed this should be in your path. The -D argument tells postgres where your data directory is. Use pg_ctl --help for more information.

Ron

Raul Secan wrote:

>Thanks for the TIP with the start-script, but I am still wondering why I
>can't start the service with:
>
>service postgresql start
>
>Because everyting seems to be installed correctly.
>
>Thanks.
>
>----- Original Message -----
>From: "Ron St-Pierre" <rstpierre(at)syscor(dot)com>
>To: "Raul Secan" <raul(at)zerosoft(dot)ro>; <pgsql-php(at)postgresql(dot)org>
>Sent: Monday, March 22, 2004 6:35 PM
>Subject: Re: [PHP] running postgresql as a linux service
>
>
>I haven't had access to my mail over the last few days, so in case you
>are still having a problem, check below.
>
>Raul Secan wrote:
>
>
>
>>I saw that in /etc/init.d/ dir I already have postgresql, so the service is
>>installed, bu wehn try to run:
>>
>>service postgresql start
>>
>>I receive:
>>
>>Initializing database: [FAILED]
>>Starting postgresql service: pg_ctl: no operation mode specified
>>Try "pg_ctl --help" for more information.
>>-sh: line 2: -p: command not found
>>
>>Anyway I just edit the postgresql file and see something anormal there I
>>think:
>>
>>export PGDATA=/var/lib/pgsql/data
>>
>>But my Postgresql data dir is /usr/local/pgsql/data.
>>
>>Can someone tell me what is going on?
>>Thanks.
>>
>>
>>
>>
>This is why you have to copy over the 'postgres' file in /etc/init.d
> cp contrib/start-scripts/linux /etc/init.d/postgres
>If you have properly installed postgres then the file that you are
>copying over from contrib/start-scripts/ will be properly configured
>with the correct environment variables. I would also recommend that you
>delete anything in your /var/lib/pgsql/ directory if you haven't already
>done so (after backing up any databases you may have).
>
>
>
>>----- Original Message -----
>>From: "Ron St-Pierre" <rstpierre(at)syscor(dot)com>
>>To: "Raul Secan" <raul(at)zerosoft(dot)ro>; <pgsql-php(at)postgresql(dot)org>
>>Sent: Thursday, March 18, 2004 5:57 PM
>>Subject: Re: [PHP] running postgresql as a linux service
>>
>>
>>Raul Secan wrote:
>>
>>
>>
>>
>>
>>>Hello, I have succesfuly installed PostgreSQL 7.4.1, on my OS which is
>>>Red Hat Linux 9.0.
>>>
>>>I start the server with:
>>>$ pg_ctl -D /usr/local/pgsql/data -l logfile start
>>>
>>>And stop it with:
>>>$ pg_ctl -D /usr/local/pgsql/data stop -m fast
>>>
>>>There are two questions here, which I want to put to you guys:
>>>1. How can make PostgreSQL run as a Linux service so database server
>>>starts at each reboot
>>>
>>>
>>>
>>>
>>Below are the steps I use when I manually install PostgreSQL to have it
>>running when the server starts. However I don't use Red Hat, I use
>>Mandrake instead. You should be able to find the corresponding files on
>>your server if you know the installation directories for your
>>PostgreSQL, or use utilities like 'locate' or 'find' to find out where
>>they are installed.
>>
>><start>
>>
>>*as root*:
>>- Configure the PostgreSQL SysV Script. This script is useful for
>>starting, stopping, and checking the status of PostgreSQL.
>>
>># cd /usr/local/src/postgresql-7.x
>># cp contrib/start-scripts/linux /etc/init.d/postgres
>># chmod 755 /etc/init.d/postgres
>>.... then edit the file to specify the data directory, etc. and sets the
>>environment variabes (PGDATA etc). The file is well documented. If you
>>installed Postgres manually, it should have the correct values already set.
>>
>>- To have PostgreSQL start automatically when the computer boots add
>>symbolic links from the correct /etc/rc*.d/ directories to
>>/etc/init.d/postgres. If the normal runlevel is 3 then you really only
>>need to add it to rc3.d:
>>
>># ln -s /etc/init.d/postgres /etc/rc2.d/S85postgres
>># ln -s /etc/init.d/postgres /etc/rc3.d/S85postgres
>>
>>etc ...
>>
>>- Start PostgreSQL for the first time:
>>
>># /etc/init.d/postgres start
>>
>><\start>
>>
>>
>>
>>
>>
>>>2. How can I register the PGDATA environment variable, so I don't have
>>>to use -D /usr/local/pgsql/data parameter (and don't use -l logfile if
>>>it is posible) when run the start command
>>>
>>>
>>>
>>>
>>>
>>If step 1. works correctly, the PGDATA variable is set properly.
>>Otherwise edit the /etc/init.d/postgres file.
>>
>>
>>
>>
>>
>>>Thanks, Raul Secan.
>>>
>>>
>>>
>>>
>>Ron
>>
>>
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 4: Don't 'kill -9' the postmaster
>>
>>
>>
>>
>>
>>
>
>
>
>

In response to

Browse pgsql-php by date

  From Date Subject
Next Message Bruno Wolff III 2004-03-24 17:26:08 Re: [PHP] upgrading to 7.4.2
Previous Message Bruno Wolff III 2004-03-23 15:50:41 Re: upgrading to 7.4.2