Безопасность и оптимизация Linux.Редакция для Red Hat



         

Компиляция и оптимизация.


Шаг 1

Первое, для уменьшения риска безопасности, мы создадим непривилегированный бюджет пользователя “postgres”, который должен владеть файлами Postgres. Для этого используйте следующую команду:

[root@deep /]# useradd -M -o -r -d /var/lib/pgsql -s /bin/bash -c "PostgreSQL Server" -u 40 postgres >/dev/null 2>&1 :



Шаг 2

Перейдите в новый PosgreSQL каталог, а затем в подкаталог “src”. Введите следующие команды на вашем терминале:

[root@deep /]# cd /var/tmp/postgresql-6.5.3

[root@deep postgresql-6.5.3]# cd src

CC="egcs" \

./configure \

--prefix=/usr \

--enable-locale

Редактируйте файл Makefile.global (vi +210 Makefile.global) и измените следующие строки:

CFLAGS= -I$(SRCDIR)/include -I$(SRCDIR)/backend

Должна быть:

CFLAGS= -I$(SRCDIR)/include -I$(SRCDIR)/backend -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions

Это оптимизационные флаги для сервера PostgreSQL. Конечно, вы должны приспособить их под вашу систему и процессор.

Шаг 3

Сейчас, мы должны скомпилировать и инсталлировать PosgreSQL на сервере:

[root@deep src]# make all

[root@deep src]# cd ..

[root@deep postgresql-6.5.3]# make -C src install

[root@deep postgresql-6.5.3]# make -C src/man install

[root@deep postgresql-6.5.3]# mkdir -p /usr/include/pgsql

[root@deep postgresql-6.5.3]# mv /usr/include/access /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/commands /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/executor /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/lib /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/libpq /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/libpq++ /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/port /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/utils /usr/include/pgsql/

[root@deep postgresql-6.5.3]# mv /usr/include/fmgr.h /usr/include/pgsql/




Содержание  Назад  Вперед