Re: PostgreSQL With Slackware

Поиск
Список
Период
Сортировка
От Grega Bremec
Тема Re: PostgreSQL With Slackware
Дата
Msg-id 20040623065301.GA18621@elbereth.noviforum.si
обсуждение исходный текст
Ответ на PostgreSQL With Slackware  ("Janio Rosa da Silva" <janio_2003@yahoo.com.br>)
Ответы Re: PostgreSQL With Slackware  (Grega Bremec <grega.bremec@noviforum.si>)
Список pgsql-admin
...and on Wed, Jun 23, 2004 at 01:38:44AM -0300, Janio Rosa da Silva used the keyboard:
>
> I am looking for a way to start PostgreSQL when the computer is turned
> on. Any ideas?
>
> I am using Slackware 9.1 and PostgreSQL 7.4.2;
>
> I was made a rc.postgresql script file. And I called for it from rc.local.
>
> But, I thing when the slackware is starting, the commands in script file are
> executting under root. But the pg_ctl or postmaster should be executed under
> the postgres user.
>
> Who can I start the postgresql server when the slackware is turned on?
>
> thanks,
>
> Janio

Hello,

We have a couple of setups running PostgreSQL, all based on Slackware,
various versions.

I don't know if you're aware of it, but Slackware init had been a lot more
sysv-like since 8.0 already. The only thing missing are init.d and rc?.d
directories in /etc/rc.d; if you create these and put things inside, the
rc scripts will automatically pick it up and do the right thing [tm]. Well,
almost.

That said, you can use the contrib/start-scripts/linux script to control
PostgreSQL, which will also switch the identity when starting up postmaster,
all you need is to modify it a bit if you installed under a prefix other
than /usr/local/pgsql/.

Two notes though:

    - you will need to patch the /etc/rc.d/rc.sysvinit script, as it
      currently does kill scripts in a wrong manner - instead of
      executing kill scripts for the target runlevel, it executes them
      for the originating runlevel, which is wrong. Then again, it's no
      biggie, as all you need to change is in the attached patch

    - I've done some modifications to contrib/start-scripts/linux that
      will also source a file containing environment variables for extra
      data directories, so there's no need for manual modifications of
      runtime environment to make postmaster realize there are other
      locations for databases - all you need is add an environment
      variable to that file; the attached script is the modified one,
      but do look into ${prefix}, ${PGDATA} and ${PGLOG} - they most
      probably don't contain the values you want

Recap - patch /etc/rc.d/rc.sysvinit with the attached patch, create

    $ mkdir /etc/rc.d/{init,rc{0,1,2,3,4,5,6}}.d

put the attached postgres script into /etc/rc.d/init.d/ and create
symlinks in appropriate runlevel directories. If you'd like to use
extra data directoeis, put the attached data_dirs file into postgres
home directory. After you've done that, everything should go smoothly
on startup.

(Hopefully the patches go through to the list, if not and anybody is
interested, e-mail me and I'll send them to you too.)

Hope this helped,
--
    Grega Bremec
    Senior Administrator
    Noviforum Ltd., Software & Media
    http://www.noviforum.si/

Вложения

В списке pgsql-admin по дате отправления:

Предыдущее
От: Steve Lane
Дата:
Сообщение: Re: PostgreSQL With Slackware
Следующее
От: Aryan Ariel Rodriguez Chalas
Дата:
Сообщение: Problems with the connection to a Remote Database.