- сложная
объектно-ориентированная DBMS (DataBase Managment
System), поддерживающая практически все команды SQL (Structured Query
Language), включая вложенные SELECT, транзакции, триггеры и определяемые
пользователем типы и функции. PostgreSQL предназначен для решения задач,
стоящих перед большими базами со сложной структурой данных и запросов.
Некоторые полезные
ссылки по PostgreSQL.
PostgreSQL - сложная объектно-ориентированная DBMS (DataBase
Managment System), поддерживающая практически все команды SQL (Structured Query
Language), включая вложенные SELECT, транзакции, триггеры и определяемые
пользователем типы и функции. PostgreSQL предназначен для решения задач, стоящих
перед большими базами со сложной структурой данных и запросов.
Вы можете воспользоваться PostgreSQL в том случае, если
работаете с нашим хостингом по тарифному плану "Профессионал".
Для начала работы с базой данных необходимо написать
заявку в отдел технической поддержки support@zenon.net. Все необходимые данные будут
высланы по почте.
Существует несколько способов доступа к базе данных PostgreSQL.
Самый простой способ - управление базой данных, используя программу-клиент.
Данная программа запускается из Unix-shell.
Подключение к существующей базе данных :
для версии 8.2.5 :
/usr/local/pgsql/8.2.5/bin/psql -U <Логин> -h <
Хост> -p <port> -d <Имя базы данных>
для версии 8.3.3 :
/usr/local/pgsql/8.3.3/bin/psql -U <Логин> -h <
Хост> -p <port> -d <Имя базы данных>
Получить список существующих баз данных :
для версии 8.2.5 :
/usr/local/pgsql/8.2.5/bin/psql -U <Логин> -h <
Хост> -p <port> -l
для версии 8.3.3 :
/usr/local/pgsql/8.3.3/bin/psql -U <Логин> -h <
Хост> -p <port> -l
Данные <Логин>, <Хост>, <port> будут
сообщены дополнительно после регистрации услуги.
После подключения к базе данных вы получаете доступ к командной
строке клиентской программы, в которой можно вводить запросы. Каждая строка
запроса должна заканчиваться символами \g или ;. Ниже приводится несколько
полезных команд клиентской программы.
- \?
- Показать помощь по директивам командной строки,
- \h
- Показать помощь по командам SQL,
- \e
- Использовать текстовый редактор для ввода "длинных" запросов,
- \q
- Выйти из PostgreSQL,
- \p
- Показать содержимое строки запроса,
- \c
- Выбрать/изменить текущую базу данных.
На каждую команду SQL в PostgreSQL предоставляется возможность
подстрочной подсказки и автодополнения команды. Подстрочная подсказка вызывается
с помощью команды \h <команда_SQL>. Автодополение команды выполняется
после нажатия клавиши <TAB>.
- Создание базы данных
CREATE DATABASE <Имя_Базы_Данных>;
- Удаление базы данных
DROP DATABASE <Имя_Базы_Данных<; VACUUM;
VACUUM используется для физической очистки базы данных PostgreSQL
- Создание нового пользователя
CREATE USER <Имя_пользователя<;
- Изменение пароля пользователя
ALTER USER <Имя_пользователя> WITH PASSWORD '<Пароль>';
- Удаление пользователя
DROP USER <Имя_пользователя>;
- Посмотреть список пользователей
SELECT usename FROM pg_user;
Для написании cgi-скриптов очень часто используется язык perl,
поэтому приведем пример обращения к базе данных, используя этот язык. Для доступа
к базе данных необходимо воспользоваться perl-модулем DBI. С помощь данного
модуля можно работать со многими популярными базами данных. Ниже приводится
простой perl-скрипт, который выводит название базы данных, к которой
осуществляется подключение.
#!/usr/local/bin/perl
#
#
# Используемые модули
use
DBI;
# Имя хоста, на котором работает
PostgreSQL
$hostname="<Имя_вашего_хоста>";
# Номер
порта
$port="<Номер_порта>";
# Имя
пользователя
$user="<Имя_пользователя>";
# Пароль доступа к базе
данных
$password="<Пароль_доступа>";
# Имя базы
$database="<Название_базы_данных>";
# Вывод http-заголовка
print
"Content-type: text/html\n\n";
# Подключение к базе
$dbh =
DBI->connect("dbi:Pg:dbname=$database;host=$hostname;port=$port",$user,$password);
#
запрос
my $Name = $dbh->{Name};
print "DataBase = $Name\n";
#
Отключаемся от базы
$rc = $dbh->disconnect;
Дополнительную информацию о модуле DBI можно получить из
документации, набрав в Unix-shell следующую команду:
perldoc DBD::Pg
Для возможности использования драйвера
для PostgreSQL вам необходимо будет установить в свой каталог ~/perllib модуль
DBD::Pg (DBD-Pg-0.95.tar.gz)
со CPAN. Ознакомиться с
инструкцией по инсталляции нового perl-модуля можно на нашем сервере в
разделе "Использование каталога perllib".
PHP это удобный
язык программирования, предназначенный для
встраивания данных в web страницы. На Вашем сервере PHP функционирует с
поддержкой соединений с PostgreSQL. Ниже приводится фрагмент php-документа,
который выполняет такую же функцию, как и описанный выше perl-скрипт.
<?php
$dbconn=pg_connect("host=<Имя_хоста>
port=<Номер_порта> user=<Имя_пользователя>
password=<Пароль_пользователя> dbname=<Имя_базы_данных>");
print
pg_dbname($dbconn);
pg_close($dbconn);
?>
Дополнительную информацию по использованию функций для работы с PostgreSQL из
php можно получить по следующему URL:
http://www.php.net/manual/en/ref.pgsql.php
Для того, чтобы перенести данные из одной базы PostgreSQL в
другую необходимо воспользоваться директивой COPY TO/FROM. Таким образом
можно сохранить содержимое определенной таблицы в файле, а затем с помощью этой
же директивы возможна вставка данных в таблицу PostgreSQL. Директива COPY
выполняется из командной строки PostgreSQL.
С подробной инструкцией по
использованию команды COPY можно ознакомиться, выполнив в командной
строке PostgreSQL \h COPY
Для сохрания данных из таблицы в файле нужно
сделать:
- COPY <Имя_Таблицы> TO '<Полный_Путь_До_Файла>';
Для
востановления данных из файла в таблицу нужно сделать:
- COPY <Имя_Таблицы> FROM '<Полный_Путь_До_Файла>';
Ниже приводится список полезных ссылок на сайты, посвященные PostgreSQL.