Небольшой Perl-скрипт, который проверит доступность подключения к серверу баз данных PostgreSQL на веб-сервере.
Если необходимого имени пользователя и базы данных ещё не существует, создадим их. Для этого войдём в консоль psql:
# su postgres -c psql
и выполним такой запрос:
CREATE DATABASE test_db; CREATE USER db_user WITH PASSWORD 'yourPassword'; GRANT ALL PRIVILEGES ON DATABASE test_db TO db_user; EXIT;
Затем в директории, где будут храниться CGI-скрипты (это могут быть cgi-bin, cgi, cgi-perl, perl и т.д.), создадим файл postgresql.cgi (или postgresql.pl), откроем его и впишем такой скрипт:
#!/usr/bin/perl
# в Linux в основном путь к Perl по умолчанию /usr/bin/perl, на FreeBSD - /usr/local/bin/perl
use DBI;
my $hostname = "localhost";
my $port = "5432";
my $user = "db_user";
my $password = "yourPassword";
my $dbname = "test_db";
print "Content-Type: text/html;charset=utf-8 \n\n";
print "<h1>Подключение к PostgreSQL</h1> \n";
my $dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$hostname;port=$port",$user,$password);
if (!$dbh) {
print "<h2>Ошибка подключения к базе данных.</h2> \n $DBI::errstr \n";
}
if ($dbh) {
print "<h2>Подключение к базе данных выполнено успешно.</h2> \n";
$dbh->disconnect();
}
Проверяем.
В адресной строке браузера вводим http://IP_или_хост_сервера/путь_к_CGI-скриптам/postgresql.cgi
Страница покажет результат подключения.