Thread: postgres in freebsd jail

postgres in freebsd jail

From
Vikram
Date:
Hi,

I am using postgresql 8.0beta in a freebsd jail environment. My inittdb
gives me a message like:
---
creating template1 database in /home/..../db/base/1 ... FATAL:  could
not create shared memory segment: Function not implemented
DETAIL:  Failed system call was shmget(key=1, size=1187840, 03600).
child process exited with exit code 1
initdb: failed
---

I searched the archives and saw discussions regarding this but could not
find any definitive answer in them. Is this problem still current?

Thanks,
            Vikram



Re: postgres in freebsd jail

From
"Reko Turja"
Date:
> I am using postgresql 8.0beta in a freebsd jail environment. My
> inittdb
> gives me a message like:
> ---
> creating template1 database in /home/..../db/base/1 ... FATAL:
> could
> not create shared memory segment: Function not implemented
> DETAIL:  Failed system call was shmget(key=1, size=1187840, 03600).
> child process exited with exit code 1
> initdb: failed

Have you enabled jail.sysvipc_allowed sysctl for kernel? I haven't run
Postgresql in jail myself but as far as I know the sysctl above is
needed in order to use sysv IPC and shared memory functionality inside
the jail.

-Reko


Re: postgres in freebsd jail

From
Bill Moran
Date:
"Reko Turja" <reko.turja@liukuma.net> wrote:

> > I am using postgresql 8.0beta in a freebsd jail environment. My
> > inittdb
> > gives me a message like:
> > ---
> > creating template1 database in /home/..../db/base/1 ... FATAL:
> > could
> > not create shared memory segment: Function not implemented
> > DETAIL:  Failed system call was shmget(key=1, size=1187840, 03600).
> > child process exited with exit code 1
> > initdb: failed
>
> Have you enabled jail.sysvipc_allowed sysctl for kernel? I haven't run
> Postgresql in jail myself but as far as I know the sysctl above is
> needed in order to use sysv IPC and shared memory functionality inside
> the jail.

I was unable to get Postgres working in a jail even with this sysctl
enabled.  If you look through the archives, you'll see a discussion with
others who have it working just fine.

The upshot is that, personally, I don't know.  I have not yet had time to
track down the problem.

--
Bill Moran
Potential Technologies
http://www.potentialtech.com

Re: postgres in freebsd jail

From
"Marc G. Fournier"
Date:
On Mon, 16 Aug 2004, Bill Moran wrote:

> "Reko Turja" <reko.turja@liukuma.net> wrote:
>
>>> I am using postgresql 8.0beta in a freebsd jail environment. My
>>> inittdb
>>> gives me a message like:
>>> ---
>>> creating template1 database in /home/..../db/base/1 ... FATAL:
>>> could
>>> not create shared memory segment: Function not implemented
>>> DETAIL:  Failed system call was shmget(key=1, size=1187840, 03600).
>>> child process exited with exit code 1
>>> initdb: failed
>>
>> Have you enabled jail.sysvipc_allowed sysctl for kernel? I haven't run
>> Postgresql in jail myself but as far as I know the sysctl above is
>> needed in order to use sysv IPC and shared memory functionality inside
>> the jail.
>
> I was unable to get Postgres working in a jail even with this sysctl
> enabled.  If you look through the archives, you'll see a discussion with
> others who have it working just fine.

The database that runs pgfoundry.org/gborg.postgresql.org and
www.postgresql.org are in a jail ... so definitely know it works ... as to
the above error, my first thing to check would be as Reko mentioned, check
that ipc within jail is allowed ...

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: postgres in freebsd jail

From
Vikram
Date:
> > creating template1 database in /home/..../db/base/1 ... FATAL:
> > could
> > not create shared memory segment: Function not implemented
> > DETAIL:  Failed system call was shmget(key=1, size=1187840, 03600).
> > child process exited with exit code 1
> > initdb: failed
>
> Have you enabled jail.sysvipc_allowed sysctl for kernel? I haven't run
> Postgresql in jail myself but as far as I know the sysctl above is
> needed in order to use sysv IPC and shared memory functionality inside
> the jail.
>
> -Reko

Yes, It worked on setting sysvipc_allowed to 1. Thanks,

            Vikram


Re: postgres in freebsd jail

From
"Reko Turja"
Date:
----- Original Message -----
From: "Bill Moran" <wmoran@potentialtech.com>

> I was unable to get Postgres working in a jail even with this sysctl
> enabled.  If you look through the archives, you'll see a discussion
> with
> others who have it working just fine.
>
> The upshot is that, personally, I don't know.  I have not yet had
> time to
> track down the problem.

I guess you have set the following variables according your needs in
your kernel config file and then recompiled your kernel?

  options         SYSVSHM
  options         SYSVSEM
  options         SYSVMSG
  options         SHMMAXPGS=65536
  options         SEMMNI=40
  options         SEMMNS=240
  options         SEMUME=40
  options         SEMMNU=120

I don't have a system running -CURRENT or 5.x at this moment, so I
can't check if there are new sysctl's or kernel variables introduced,
which control the SYSV - One possible thing to do would be grepping
the output of sysctl -a and checking for word jail. (I tried to find
the thread you mentioned, but only found one post from you, so I'm
sorry if I'm just repeating the obvious...)

-Reko