
Установка postgresql Centos/Red Hat/Fedora
PostgreSQL — свободная объектно-реляционная система для управления БД для многих UNIX платформ, включая AIX, разных BSD-систем, Linux, Mac OS X, Solaris а также для Windows.
PostgreSQL можно установить с помощью RPM-пакетов (двоичные) или SRPMs (из исходников) с использованием команды YUM. Эта функция доступна для следующих дистрибутивов (32 — и 64-битных платформ):
- Fedora (версии 16 и выше);
- Red Hat Enterprise Linux (версии 5 и выше);
- CentOS (версии 5 и выше);
- Scientific Linux (версии 5 и выше).
Настройка хранилища YUM:
Найдите и отредактируйте свой файл репозитория .repo который лежит:
В Fedora он будет в:
/etc/yum.repos.d/fedora.repo и /etc/yum.repos.d/fedora-updates.repo, секции [Fedora] /
В CentOS он будет в :
/etc/yum.repos.d/CentOS-Base.repo, разделы [база] (base) и [обновления] (updates)
В Red Hat он будет в:
/etc/yum/pluginconf.d/rhnplugin.conf в разделе [главная] (main)
Во все раздел (ы), указанные выше, необходимо добавить строку:
exclude=postgresql*
Установка файла PGDG RPM
PGDG файл доступен для каждой архитектуры / версии . Зайдите на официальный сайт и найдите свой RPM для вашей системы. Например, чтобы установить PostgreSQL 9.3 на CentOS 6 64-бит я выполню:
# yum localinstall http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
Например, чтобы установить PostgreSQL 9.3 на CentOS 6 32-бит я выполню:
# yum localinstall http://yum.postgresql.org/9.3/redhat/rhel-5-i386/pgdg-centos93-9.3-1.noarch.rpm
Установка postgresql Centos/Red Hat/Fedora
Чтобы получить список доступных пакетов нужно выполнить:
# yum list postgres*
Например, чтобы установить базовую комплектацию PostgreSQL 9.3 сервер нужно выполнить:
# yum install postgresql93-server
Другие пакеты могут быть установлены в соответствии с вашими потребностями.
Команды после установки
После установки пакетов, базу данных необходимо инициализировать и настроить.
В приведенных ниже команд, значение <name> будет варьироваться в зависимости от версии, используемой PostgreSQL.
Для PostgreSQL версии 9.0 и выше, <name> включает major.minor версию PostgreSQL, например, PostgreSQL-9.3
Каталог данных
Каталог данных PostgreSQL содержит все файлы данных для базы данных. Переменная PGDATA используется для создания ссылки на этот каталог.
Для PostgreSQL версии 9.0 и выше, каталог данных по умолчанию является:
/var/lib/pgsql/<name>/data
Например:
/var/lib/pgsql/9.3/data
Для версий 7.x и 8.x, каталог данных по умолчанию является:
/var/lib/pgsql/data/
Инициализация
Первая команда (необходимо выполнить только один раз), чтобы инициализировать базу данных в PGDATA.
service <name> initdb
Например для версии 9.3:
# service postgresql-9.3 initdb
Если предыдущая команда не работает, попробуйте прямо назвать настройки в бинарном виде, расположенный в подобной схеме именования:
/usr/pgsql-y.x/bin/postgresqlyx-setup initdb
Например для версии 9.3:
# / usr/pgsql-9.3/bin/postgresql93-setup initdb
Автозапуск PostgreSQL
Если вы хотите чтобы PostgreSQL стартовал автоматически при запуске ОС, то нужно выполнить:
chkconfig <name> on
Например для версии 9.3:
# chkconfig postgresql-9.3 on
Для управления службой БД, используйте:
service <name> <command>
где <command> может быть:
start : запустить базу данных
stop : остановить базу данных
restart : остановить / запустить базу данных; используется для чтения изменения в ключевые конфигурационных файлах
reload: перезагрузить pg_hba.conf файл, сохраняя при этом работу с БД
Чтобы удалить PostgreSQL
Чтобы удалить все:
# yum erase postgresql93*
Или удалить отдельные пакеты по своему желанию.
Первые шаги после установки
Для начала залогинимся как рут:
# su - postgres $ psql
psql (9.2.4)
Type «help» for help.
postgres=# help
You are using psql, the command-line interface to PostgreSQL.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
Создать схему под названием test в базе данных по умолчанию под названием Postgres
postgres=# CREATE SCHEMA test;
Создайте роль (пользователя) с паролем
postgres=# CREATE USER xxx PASSWORD 'user_password';
Предоставлять привилегии (например, возможность создавать таблицы ) на новой схемы в новой роли
postgres=# GRANT ALL ON SCHEMA test TO xxx;
Предоставлять привилегии (например, возможностью вставки ) для таблиц в новой схемы в новой роли
postgres=# GRANT ALL ON ALL TABLES IN SCHEMA test TO xxx;
Чтобы выйти используйте:
postgres=# \q
Стал обычным пользователем .
Режим проверки подлинности по умолчанию установлен в » идент » , что означает что данный Linux пользователь ххх может подключить только как Postgres пользователь ххх.
# su - xxx
Введите логин и пароль от ххх пользователя в оболочке по умолчанию Postgres БД
xxx$ psql -d postgres psql (9.2.4) Type "help" for help.
Создать тестовую таблицу в схеме test
postgres=>CREATE TABLE test.test (coltest varchar(20)); CREATE TABLE
Вставьте одну запись в новую таблицу
postgres=>insert into test.test (coltest) values ('It works!'); INSERT 0 1
Сначала выберите из таблицы
postgres=>SELECT * from test.test; coltest ----------- It works! (1 row)
Удалить таблицу test
postgresql=>DROP TABLE test.test; DROP TABLE
Установка postgresql Centos/Red Hat/Fedora завершена. Надеюсь было все понятно.