1

установка postgresql 9.4 в GNURoot Debian v0.6.7_armhf

#service postgresql start
[warn] No PostgreSQL clusters exist; see "man pg_createcluster" ... (warning).

Попытался решить, используя dpkg-reconfigure locales и выбрав locale и после

#pg_createcluster 9.4 main --start
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------A-----e-C
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.4/main"
Error: initdb failed

При попытке создать пользователя я также попытался изменить номер порта postgresql на тот же вывод с другим номером порта.

#createuser user -P -S -R -D
Enter password for new role:
Enter it again:
createuser: could not connect to database postgres: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

вывод netstat

#netstat -plunt
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State          PID/Program name
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN         28433/sshd
tcp6       0      0 :::2222                 :::*                    LISTEN         28433/sshd
tcp6       0      0 127.0.0.1:42110         :::*                    LISTEN              -
udp6       0      0 :::546                  :::*                                        -

1 ответ1

0

Android специально не поддерживает SmeV совместно используемую память shmem или POSIX /dev/shm и вместо этого создает /dev/ashmem (ссылка). Но Postgresql для работы нужна общая память SysV.

Этот проект GitHub может быть решением:https://github.com/pelya/android-shmem

Эта библиотека позволяет использовать разделяемую память в Android между независимыми процессами, используя API shmget(), shmat() и shmdt().

Прочтите примечания к выпуску для использования пакета. Хотя он датируется два года назад, он все еще считается работающим.

Если примечаний к выпуску недостаточно, я также нашел этот совет :

Для установки (в среде chroot):

cp libandroid-shmem-gnueabihf.so /lib/libandroid-shmem-gnueabihf.so

Чтобы запустить программу:

env LD_PRELOAD="/lib/libandroid-shmem-gnueabihf.so" program %u

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .