PostgreSQL - это объектно-реляционная система управления базами данных (СУБД), которая имеет традиционные возможности коммерческих СУБД с расширениями, которые есть в СУБД нового поколения. PostgreSQL - это свободное и полностью открытое программное обеспечение.

Разработку PostgreSQL выполняет команда разработчиков, разбросанная по всему миру и связанная через Интернет. Разработка является общественным проектом и не управляется какой-либо компанией. Подробности смотрите в FAQ для разработчиков, FAQ для разработчиков.

Установка на CentOS6

Устанавливаем нужное ПО

yum -y install postgresql-server

Инициализируем БД

/etc/init.d/postgresql initdb

Видим нечто такое

Инициализируется база данных: [ OK ]

Редактируем /var/lib/pgsql/data/postgresql.conf

1
2
 listen_addresses = '*' #строка 59, меняем localhost на любой адрес
 log_line_prefix = '%t %u %d ' #строка 334, меняем формат логов

Перезапускаем сервис

/etc/init.d/postgresql restart

видим:

1
2
 Останавливается служба postgresql:  [  OK  ]
 Запускается служба postgresql:      [  OK  ]

Ставим службу в автозапуск:

chkconfig postgresql on

Зайдём в БД и потестим:

su - postgres

увидим приглашение типа

-bash-4.1$

поменяем пароль админа

psql -c “alter user postgres with password ‘megapass’”

если ок, видим это:

ALTER ROLE

Создадим тестовую базу

createdb testdb

и посмотрим, есть ли она командой:

psql -l

В итоге

1
2
3
4
5
6
7
8
9
10
                                   Список баз данных
 Имя    | Владелец | Кодировка | Правило сортировки |  LC_CTYPE   |     Права доступа
 -----------+----------+-----------+--------------------+-------------+-----------------------
  postgres  | postgres | UTF8      | ru_RU.UTF-8        | ru_RU.UTF-8 |
  template0 | postgres | UTF8      | ru_RU.UTF-8        | ru_RU.UTF-8 | =c/postgres
                                                                  : postgres=CTc/postgres
  template1 | postgres | UTF8      | ru_RU.UTF-8        | ru_RU.UTF-8 | =c/postgres
                                                                  : postgres=CTc/postgres
  testdb    | postgres | UTF8      | ru_RU.UTF-8        | ru_RU.UTF-8 |
 (4 строки)

Удаляем тестовую базу:

dropdb testdb

Ставим на Ubuntu

В файл /etc/apt/sources.list.d/pgdg.list добавляем:

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

Импортируем ключ:

1
2
 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
 sudo apt-get update

И далее ставим последнюю версию в штатном порядке.

После установки создаём суперюзера

1
2
3
4
 su – postgres
 psql -dpostgres
 CREATE role root LOGIN PASSWORD 'megapass' SUPERUSER;
 \q

Чтобы открыть порты для внешних подключений:

  • правим /var/lib/pgsql/9.2/data/postgresql.conf

listen_addresses = ‘*’

  • разрешаем присоединятся в /var/lib/pgsql/9.2/data/pg_hba.conf

host all all 0.0.0.0/0 md5

Меняем пароль

1
2
3
 su – postgres
 psql -dpostgres
 ALTER USER Postgres WITH PASSWORD '<newpassword>';