HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: Как установить PostgreSQL

Vladimir_P [13.05.2005 15:14] Как установить PostgreSQL:
1. Скачать.
Для Завра есть PostgreSQL версии 7.4.2-1. Дойти до файла с пакетом можно с сайта http://elsix.org. Но оказалось, что нужен еще один пакет с библиотеками перекодировок символов. Итак, требуется два пакета, вот прямые ссылки на них:

http://www.paipai.org/~humorum/zaurus/ipkg/postgresql_7.4.2-1_arm.ipk -- сервер
http://www.paipai.org/~humorum/zaurus/ipkg/postgresql-lang_7.4.2-1_arm.ipk -- библиотеки перекодировок.

2. Подготовить место для баз.
Надо решить, в каком каталоге будут храниться базы данных. Я решил, что подойдет /home/userdata, в котором я создал каталог postgresql:

su
cd /home/userdata
mkdir postgresql
chown zaurus:qpe postgresql

3. Установить.
Как обычно, через приложение "Add/Remove Software" поставим последовательно пакеты postgresql и postgresql-lang.

4. Исправить глюки.
Глючной оказалась програма initdb, которая не может создать пустой файл конфигурации. К счастью, это Bash-скрипт, и его можно поправить.
Командой which initdb узнаем, куда помещается PostgreSQL: это /home/QtPalmtop/bin. Идем туда, вызываем на редактирование initdb.

Глючит вот эта строка:
cp /dev/null "$PGDATA"/postgresql.conf || exit_nicely, при ее исполнении вылезает ошибка нехватки привилегий. Есть более правильный способ создать пустой файл, и надо превратить этот фрагмент в вот такой (не забудьте предварительно стать root'ом):

## cp /dev/null "$PGDATA"/postgresql.conf || exit_nicely
touch "$PGDATA"/postgresql.conf || exit_nicely

(Вообще-то, обо всём этом написано на странице http://paipai.org/~humorum/pukiwiki/pukiwiki.php?ZaurusPostgreSQL, но попробуй-ка ее сначала отыскать, а протом продраться через иероглифы до нужного кода).

5. Инициализировать кластер БД.
Не забыть выйти из пользователя root!!!
Воспринимается только только POSIX-локаль, но кодировку баз можно указать и другую, например, UTF8.
LANG=C initdb -D /home/userdata/postgresql/data -E UTF8
Если в конце вывода увидели "Success. You can now start the database server..." -- значит, всё хорошо.

6. Запустить сервер.
pg_ctl -D /home/userdata/postgresql/data -l /home/userdata/postgresql/postgresql.log start, где
-D /home/userdata/postgresql/data указывает путь к кластеру баз данных,
-l /home/userdata/postgresql/postgresql.log указывает файл для протокола работы сервера.

Получаем сообщение "postmaster successfully started".
Поехали!
ВадимП [13.05.2005 15:46] :
Как и просили, прилепил.
И сразу закрыл - задавать вопросы можно тут: http://www.hpc.ru/pda/board/index.php?t=47160
[Тема закрыта модератором]