PostgreSQL-7.4.6

Введение в PostgreSQL

PostgreSQL является расширенной объектно-относительной системой управления базой данных (ORDBMS), произошедшей от системы управления базой данных Berkeley Postgres.

Информация о пакете

Установка PostgreSQL

Чтобы configure правилино обнаружил Docbook SGML DTD (v3.1), вам может понадобится удалить описание каталога OpenSP из системных каталогов SGML. Для этого используйте следующую команду перед сборкой пакета:

sed -i.orig \ -e "/CATALOG \/etc\/sgml\/OpenSP-1.5.1.cat/d" \ /etc/sgml/catalog \ /etc/sgml/sgml-docbook.cat

Установим PostgreSQL при помощи следующих команд:

patch -Np1 -i ../postgresql-7.4.6-dsssl_fix-1.patch && ./configure --prefix=/usr --enable-thread-safety && make && make install && chown -R root:root /usr/share/doc/postgresql/html

Стандартная установка предоставляет только файлы заголовков, необходимые для разработки клиентских приложений. Серверные приложения требуют полное дерево include PostgreSQL, которое может быть установлено при помощи следующей команды:

make install-all-headers
[Замечание]

Замечание

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

Инициализируем кластер базы данных при помощи следующих команд:

mkdir -p /srv/pgsql/data && useradd -d /srv/pgsql/data postgres && chown postgres /srv/pgsql/data && su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data'

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

su - postgres -c '/usr/bin/postmaster -D /srv/pgsql/data > \ /srv/pgsql/data/logfile 2>&1 &'

Создадим базу данных и проверим установку:

su - postgres -c '/usr/bin/createdb test' && echo "create table t1 ( name varchar(20), state_province varchar(20) );" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Billy', 'NewYork');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Evanidus', 'Quebec');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Jesse', 'Ontario');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')

Описание команд

--enable-thread-safety: Этот ключ делает клиентские библиотеки безопасными для нитей, позволяя конкурентным нитям в программах libpq и ECPG безопасно контролировать их личные управления соединением.

chown -R root:root /usr/share/doc/postgresql/html: Эта команда изменяет неправильного владельца некоторых файлов документации.

useradd -d /srv/pgsql/data postgres: Добавляет непривилегированного пользователя для запуска сервера базы данных.

createdb test, create table t1 , insert into t1 values..., select * from t1: Создает базу данных, добавляет в нее таблицу, вставляет некоторые строки в таблицу и выбирает их для проверки правильной работы установки.

Конфигурация PostgreSQL

Файлы конфигурации

$PGDATA/pg_ident.con, $PGDATA/pg_hba.conf и $PGDATA/postgresql.conf

Переменная окружения PGDATA используется для различения кластеров базы данных между собой установкой ее на размер директории, которая содержит желаемый кластер. Три файла конфигурации присутствуют в каждой PGDATA/ директории. Детали по формату файлов и опциям, которые могут быть установлены в каждом из них, могут быть найдены в file:///usr/share/doc/postgresql/html/index.html.

Установим стартовый скрипт /etc/rc.d/init.d/postgresql, включенный в пакет blfs-bootscripts-6.0.

make install-postgresql

Содержание

Пакет PostgreSQL содержит clusterdb, createdb, createlang, createuser, dropdb, droplang, dropuser, ecpg, initdb, initlocation, ipcclean, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_encoding, pg_id, pg_resetxlog, pg_restore, pgtclsh, pgtksh, pltcl_delmod, pltcl_listmod, pltcl_loadmod, postgres, postmaster, psql, vacuumdb, libecpg, libpgtcl, libpgtypes, libpq и различные модули символов.

Описание

clusterdb

clusterdb утилита рекластеризации таблиц в базе данныхPostgreSQL.

createdb

createdb создает новую базу данных PostgreSQL.

createlang

createlang описывает новый процедурный язык PostgreSQL.

createuser

createuser описывает новый аккаунт пользователя PostgreSQL.

dropdb

dropdb удаляет базу данных PostgreSQL.

droplang

droplang удаляет процедурный язык PostgreSQL.

dropuser

dropuser удаляет аккаунт пользователя PostgreSQL.

ecpg

ecpg встроенный SQL обработчик.

initdb

initdb создает новый кластер базы данных.

initlocation

initlocation создает вторичную область хранения базы данных.

ipcclean

ipcclean очищает разделяемую память и семафоры, оставленные завершенным сервером базы данных.

pg_config

pg_config восстанавливает информацию о версии PostgreSQL.

pg_controldata

pg_controldata возвращает информацию, инициализированную initdb, например версию каталога и локаль сервера.

pg_ctl

pg_ctl контролирует запуск и остановку сервера базы данных.

pg_dump

pg_dump сбрасывает данные базы данных и метаданные в скрипты, используемые для пересоздания базы данных.

pg_dumpall

pg_dumpall рекурсивно вызывает pg_dump для каждой базы данных в кластере.

pg_resetxlog

pg_resetxlog очищает записываемый лог и опционально сбрасывает некоторые поля в файле pg_control.

pg_restore

pg_restore создает базу данных из дампа файлов, созданных pg_dump.

pgtclsh

pgtclsh это Tcl интерфейс оболочки, расширенный функциями доступа базы данных PostgreSQL.

pgtksh

pgtksh это Tcl/Tk интерфейс оболочки, расширенный функциями доступа базы данных PostgreSQL.

postgres

postgres это сервер базы данных для одного пользователя, обычно используемый для отладки.

postmaster

postmaster это демон многопользовательской базы данных.

psql

psql это консольная оболочка базы данных.

vacuumdb

vacuumdb уплотняет базы данных и генерирует статистику для анализатора запросов.

Последнее обновление 2005-02-12 09:12:38 -0700