1. Скачивание пакетов
Для установки PostgreSQL версии 9.1.2-1.1C на Fedora Linux понадобится скачать и установить дополнительные пакеты. Скачаем пакеты openssl098e, termcap-11.0.1-3, compat-libtermcap-2.0.8-49:
Далее будем считать, что настроены репозитарии и есть интернет соединение. Таким образом недостающие файлы скачаются из интернета сами и установятся вместе с устанавливаемыми вручную.
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
Скачаем с сервера 1С файлы 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 описана в следующей инструкции