Currently I'm trying to create the first PostgreSQL 9.5 cluster on Linux deploy android 5.0.2, and it seems to be a shared memory error.

FATAL: could not create shared memory segment: Function not implemented
Detail: Failed system call was shmget(key=1, size=40, 03600).
child process exited with exit code 1
initdb removing contents of data directory "/var/lib/postgresql/9.5/main"
Error: initdb failed

Can anyone help?


1 Answer 1


Android doesn't support POSIX or System V shared memory. It has its own non-standard API, ashmem.

PostgreSQL does not support ashmem. To make the PostgreSQL server run on Android I expect you'd need to either use a custom kernel that does support either POSIX or System V shared memory, or add support for ashmem to PostgreSQL.

There's a also wrapper tool, android-shmem that emulates System V shared memory using ashmem transparently either by direct linking or LD_PRELOAD. You could try that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .