PostgreSQL
PostgreSQL - сложная объектно-ориентированная DBMS (DataBase Managment System), поддерживающая практически все команды SQL (Structured Query Language), включая вложенные SELECT, транзакции, триггеры и определяемые пользователем типы и функции. PostgreSQL предназначен для решения задач, стоящих перед большими базами со сложной структурой данных и запросов.
Подключение PostgreSQL
Вы можете воспользоваться PostgreSQL в том случае, если работаете с нашим хостингом по тарифным планам "Зенон-420", "Зенон-630" и "Зенон-840". Подключить PostgreSQL можно в Панели управления:
Для этого нужно выбрать иконку "Базы данных" в блоке "Управление хостингом". Далее в открывшемся окне в строке "Базы данных" перейти по ссылке [добавить], выбрать "Персональный PostgreSQL 9.1" и нажать кнопку "Добавить".
Дождитесь пока PostgreSQL будет добавлен к Вашей площадке. Данные для подключения Вы увидите на экране, которые так же придут на контактные e-mail указанные в договоре.
Как создать базу в PostgreSQL?
Создать базу данных PostgreSQL можно, например, через консоль (SSH) командой:
createdb -U <Логин> -h < Хост> -p <port> -e <Имя базы данных>
Как начать работать с PostgreSQL?
Существует несколько способов доступа к базе данных PostgreSQL. Самый простой способ - управление базой данных, используя программу-клиент. Данная программа запускается из консоли (SSH).
Подключение к существующей базе данных :
psql -U <Логин> -h < Хост> -p <port> -d <Имя базы данных>Получить список существующих баз данных :
psql -U <Логин> -h <Хост> -p <port> -l
После подключения к базе данных Вы получаете доступ к командной строке клиентской программы, в которой можно вводить запросы. Каждая строка запроса должна заканчиваться символами \g или ;. Ниже приводится несколько полезных команд клиентской программы.
- \? - Показать помощь по директивам командной строки,
- \h - Показать помощь по командам SQL,
- \e - Использовать текстовый редактор для ввода "длинных" запросов,
- \q - Выйти из PostgreSQL,
- \p - Показать содержимое строки запроса,
- \c - Выбрать/изменить текущую базу данных.
На каждую команду SQL в PostgreSQL предоставляется возможность подстрочной подсказки и автодополнения команды. Подстрочная подсказка вызывается с помощью команды
\h <команда_SQL>
Автодополение команды выполняется после нажатия клавиши <TAB>.
- Создание базы данных
CREATE DATABASE <Имя_Базы_Данных>;
DROP DATABASE <Имя_Базы_Данных>;
VACUUM;
CREATE USER <Имя_пользователя>;
ALTER USER <Имя_пользователя> WITH PASSWORD '<Пароль>'
DROP USER <Имя_пользователя>;
SELECT usename FROM pg_user;
Как получить доступ к базе данных из php-скриптов?
На хостинге "Зенон Н.С.П", PHP уже функционирует с поддержкой соединений с PostgreSQL. Ниже приводится фрагмент php-документа, который выполняет выполняет подключение к базе данных PostgeSQL
<?php
$dbconn=pg_connect("host=<Имя_хоста> port=<Номер_порта> user=<Имя_пользователя>
password=<Пароль_пользователя> dbname=<Имя_базы_данных>");
print pg_dbname($dbconn);
pg_close($dbconn);
?>
Дополнительную информацию по использованию функций для работы с PostgreSQL из php можно получить по следующему URL:
Как получить доступ к базе данных из cgi-скриптов?
Для доступа к PostgreSQL из скриптов написанных на языке 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 со CPAN.
Импорт/экспорт данных из/в PostgreSQL
Для того, чтобы перенести данные из одной базы PostgreSQL в другую необходимо воспользоваться директивой COPY TO/FROM. Таким образом можно сохранить содержимое определенной таблицы в файле, а затем с помощью этой же директивы возможна вставка данных в таблицу PostgreSQL. Директива COPY выполняется из командной строки PostgreSQL.
С подробной инструкцией по использованию команды COPY можно ознакомиться, выполнив в командной строке PostgreSQL:
\h COPY
Для сохрания данных из таблицы в файле нужно сделать:
COPY <Имя_Таблицы> TO '<Полный_Путь_До_Файла>';Для востановления данных из файла в таблицу нужно сделать:
COPY <Имя_Таблицы> FROM '<Полный_Путь_До_Файла>';