Печать
Просмотров: 11818
 

1. Скачивание пакетов

Для установки PostgreSQL версии 9.1.2-1.1C на Fedora Linux понадобится скачать и установить дополнительные пакеты. Скачаем пакеты openssl098e, termcap-11.0.1-3, compat-libtermcap-2.0.8-49:

wgеt ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/i386/Packages/openssl098e-0.9.8e-17.el6.centos.2.i686.rpm
wgеt ftp://ftp.pbone.net/mirror/ftp.linux.org.uk/pub/linux/alan/Software/Obsolete/HPPA/RPMS/noarch/termcap-11.0.1-3.noarch.rpm
wgеt ftp://rpmfind.net/linux/centos/6.3/os/i386/Packages/compat-libtermcap-2.0.8-49.el6.i686.rpm

Далее будем считать, что настроены репозитарии и есть интернет соединение. Таким образом недостающие файлы скачаются из интернета сами и установятся вместе с устанавливаемыми вручную.


2. Установка необходимых пакетов

Сначала установим openssl098e (файл пакета должен лежать в текущем каталоге, иначе необходимо прописывать полный путь к файлу):

yum install openssl098e-0.9.8e-17.el6.centos.2.i686.rpm

Установим пакет compat-readline5. Он должен поставится из репозитария:

yum install compat-readline5

Если он не найдется в репозитарии, то скачайте отдельно и установить с локального файла:

yum install compat-readline5-5.2-19.fc17.i686.rpm

Теперь установим termcap и compat-libtermcap:

yum install termcap-11.0.1-3.noarch.rpm
yum install compat-libtermcap-2.0.8-49.el6.i686.rpm

3. Установка пакетов PostgreSQL 9.1.2

Скачаем с сервера файлы SQL-сервера PostgreSQL 9.1 (с патчами от 1С):
postgresql91-libs-9.1.2-1.1C.i386
postgresql91-9.1.2-1.1C.i386
postgresql91-contrib-9.1.2-1.1C.i386
postgresql91-server-9.1.2-1.1C.i386

Установим PostgreSQL 9.1.2 (файлы лежат в локальном каталоге):

yum install postgresql91-libs-9.1.2-1.1C.i386 \
postgresql91-9.1.2-1.1C.i386 \
postgresql91-contrib-9.1.2-1.1C.i386 \
postgresql91-server-9.1.2-1.1C.i386

Если не установить postgresql91-contrib, то можно словить ошибку:
"ERROR could not access file "$LIBDIR/MCHAR": No such file or directory."
или аналогичные. Они вызваны тем, что библиотеки для работы с этими типами находятся в 'contrib-ах' PostgreSQL.


4. Настройка и запуск PostgreSQL 9.1.2

Для корректной работы PostgreSQL необходимо скорректировать системный параметр kernel.shmmax. Он должен быть равен четверти (1/4) полного объёма оперативной памяти. Размер указывается в байтах. Пропишем его в конфигурационный файл /etc/sysctl.conf:

kernel.shmmax = 402653184

Измененный параметр задействуется после перезагрузки системы. Но можно его инициировать и без перезагрузки сиситемы, выполнив команду:

server1c:~ # sysctl -p

Для того, чтобы создались конфигурационные и другие файлы сервера баз данных по пути /var/lib/pgsql/9.1/data/, запустим сервер postgreSQL:

server1c:~ # /etc/init.d/postgresql9.1 initdb
Starting postgresql service:                                        [ DONE ]

При каждом изменении конфигурационных файлов нужно перегружать сервер postgreSQL 9.1, например командой /etc/init.d/postgresql9.1 restart.


Необходимо произвести некоторую настройку сервера postgreSQL. Открываем файл /var/lib/pgsql/9.1/data/postgresql.conf находим и редактируем следующие значения:

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '127.0.0.1,192.168.1.123'
#listen_addresses = '*'		# what IP address(es) to listen on;
					# comma-separated list of addresses;
					# defaults to 'localhost', '*' = all
					# (change requires restart)
port = 5432				# (change requires restart)
max_connections = 50			# Максимальное количество подключений
					# (change requires restart)

#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------

# - Memory -

# Размер разделяемой памяти для процессов
shared_buffers = 50MB		# min 128kB
					# (change requires restart)

#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------

# - Settings -

# Вкючение/отключении кэширования.
fsync = on				# turns forced synchronization on or off


#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------

# - Planner Cost Constants -

effective_cache_size = 256MB	# Размер кэша

#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

# Включаем периодическое обслуживание базы данных - дефрагментацию данных.
autovacuum = on			# Enable autovacuum subprocess?  'on'
autovacuum_naptime = 5min		# time between autovacuum runs

Открываем файл /var/lib/pgsql/9.1/data/pg_hba.conf раскомментируем строки с локальными адресами и добавляем строки с нашими подсетями. Изменения указаны красным цветом:
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
#host    all             all             127.0.0.1/32            ident
host    all             all             127.0.0.1/32         md5
host    all             all             192.168.0.1/24       md5
host    all             all             192.168.1.1/24       md5
host    all             all             10.16.0.1/24         md5
host    all             all             0.0.0.0/0            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            ident
#host    replication     postgres        ::1/128                 ident

Варианты запуска сервера postreSQL:

server1c:~ # /etc/init.d/postgresql9.1 start
Starting postgresql9.1 service:                                        [ DONE ]


5. Некоторые команды PostgreSQL

Смена пароля пользователя postgres на сервере pgsql:

server1c:~ # psql -h localhost postgres postgres
psql (9.1.2-1.1C)
Type "help" for help.

postgres=# ALTER USER postgres PASSWORD 'post1c';
ALTER ROLE

Выход из консоли pgsql:

postgres=# \q

список всех баз на сервере pgsql

server1c:~ # psql -h localhost postgres postgres
psql (9.1.2-1.1C)
Type "help" for help.

postgres=# select datname from pg_database;
datname
-----------
template1
template0
postgres
base1c
base1c2
(5 rows)

postgres=#

Установка сервера 1С 8.2 на Fedora Linux 17 описана в следующей инструкции