Translation(s): English - español - Italiano - Русский


Обзор PostgreSQL

PostgreSQL имеет обширную и хорошую документацию по установке и использованию, используйте её как первоисточник документации по PostgreSQL. Данная страница описывает основные отличия установки PostgreSQL на Debian от общей установки PostgreSQL.

Установка

Требуемые пакеты: postgresql postgresql-client

# apt-get install postgresql postgresql-client

Рекомендуемые пакеты:

Обратите внимание, что процедурные языки устанавливаются отдельно (plpgsql устанавливается по-умолчанию). Выполните поиск по базе данных пакетов, для вывода списка возможностей PostgreSQL:

# aptitude search postgresql

Пользовательский доступ

По умолчанию пользователя и базу данных называют postgres.

Вы можете подключиться к базе данных, используя следующую команду:

# su - postgres
$ psql

Новый Пользователь и база данных

Создать системного пользователя можно используя adduser (пропустите этот шаг, чтобы использовать существующую учетную запись):

# adduser mypguser    #из штатного шелла

Подключаемся к БД и создаем нового пользователя и базу данных:

# su - postgres
# createuser mypguser
# createdb -O mypguser mypgdatabase

Подключаемся пользователем mypguser к новой БД:

# su - mypguser
$ psql mypgdatabase

или

# psql -d mypgdatabase -U mypguser

Если вы получаете ошибки, как например эта:

psql: FATAL:  Ident authentication failed for user "mypguser"

то отредактируйте файл pg_hba.conf в /etc/postgresql/X.Y/main/pg_hba.conf

local   all         all                               trust     # замените ident или peer на trust

Перезагрузите postgresql:

# /etc/init.d/postgresql reload

Документация

Для ознакомления с представлением PostgreSQL в архитектуре Debian, инструкциями по быстрому запуску, ссылками на программы и страницами руководств, обратитесь к /usr/share/doc/postgresql-common/README.Debian.gz.

Учебные файлы

Документация PostgreSQL ссылается на учебник, который входит в пакет postgresql-doc. За более подробной информацией обратитесь к /usr/share/doc/postgresql-doc-[version]/tutorial/README.

Список существующих кластеров баз данных

Используйте команду pg_lsclusters для проверки установленных кластеров, а также для получения некоторых основных сведений, такие как: версия (основная версия), имя, порт, статус (вкл. или выкл.), владелец, директория данных и файл лога.

pg_lsclusters

Замена pg_ctl

pg_ctl это команда для управления PostgreSQL из командной строки, которая используется для управления базой данных. Debian имеет Perl-обёртку для pg_ctl, которая вызывается из /usr/bin/pg_ctlcluster. Используйте pg_ctlcluster, когда вам потребуется использовать pg_ctl. Файл настроек находится в /etc/postgresql/[version]/[cluster]/pg_ctl.conf

Debian устанавливает SysV-init-совместимый (стандартный) скрипт автозагрузки в /etc/init.d/postgresql-[version]. Скрипт может использоваться для запуска, остановки, перезапуска и перезагрузки настроек без перезапуска системы. Скрипт вызывает pg_ctlcluster через внутренние вызовы.

Расположение файлов

Debian разделяет файл настроек базы данных от файлов базы данных, в то время как, общая установка PostgreSQL, напротив, ставит всё в один и тот же каталог. Обратите внимание, что Debian позволяет нескольким кластерам и даже различным версиям PostgreSQL находится на одном хосте.

Конфигурационные файлы: /etc/postgresql/[version]/[cluster]/
Бинарные: /usr/lib/postgresql/[version]
Файлы данных: /var/lib/postgresql/[version]/[cluster]

Log-файлы: При установки PostgreSQL создает директорию для лог-файлов /var/log/postgresql/. При запуске ядра СУБД создает файл журнала с именем postgresql-[version]-[cluster].log.

Изменение значений по-умолчанию в установке на Debian

Установка PostgreSQL на Debian автоматически вызывает initdb, т.е. инициализирует кластер с кодировкой и локалью по-умолчанию. Кодировка можно будет сменить позже, но язык нельзя. Для смены языка (возможно, чего-то ещё из initdb), удалите существующий по-умолчанию кластер и создайте новый:

  1. Авторизуйтесь как root.
  2. Выполните следующую команду:
    pg_dropcluster --stop <version> main
    Пример:
    pg_dropcluster --stop 8.3 main
  3. Запустите initdb указав ваши настройки. Пример:
    pg_createcluster --locale de_DE.UTF-8 --start 8.3 main

Внимание!

Предыдущая операция, как очевидно, удалит всё, что у вас было в кластере баз данных. Выполняйте эту операцию сразу после установки базового пакета. Рассмотрите руководство PostgreSQL, если вам нужно изменить стандарт для существующей базы данных (это не стандартная операция).

Рассмотрите страничку Locale если вам потребуется больше локалей.

Смотрите также

Внешние ссылки