PostgreSQL Datenbankpraxis für Anwender, Administratoren und Entwickler

Kapitel 5 - Programme und Anwendungen

Seite 96

psql starten

psql test


Hostnamen angeben

psql --host db-server test
psql -h db-server test


Domain Socket angeben

psql --host /var/run/ --port 5432 test

Seite 97

Anweisungen aus Datei laden

\i anweisungen.sql


Einzelnen Befehl ausführen

psql --command "ALTER TABLE ..." test

Seite 98

Alle Anfragen ausgeben

\set ECHO queries


Alle Systemanfragen ausgeben

\set ECHO_HIDDEN


Ausführung bei Fehler stoppen

\set ON_ERROR_STOP
\unset ON_ERROR_STOP

Seite 99

Datenbanken auflisten

psql --list test


Prompt ändern

\set PROMPT1 '%/%# '

Seite 101

Prompt ändern

\set PROMPT1 '%n@%m %/%R%x%# '

Seite 104

Webserver und Datenbank laufen auf demselben Host

local      all       all                      md5
host       all       all      127.0.0.1/32    md5

Seite 105

phpPgAdmin Konfiguration anpassen

$conf['servers'][0]['host'] = '';
oder:
$conf['servers'][0]['host'] = '127.0.0.1';


pg_hba.conf

host       all       all      192.168.200.30/32    md5


config.inc.php

$conf['servers'][0]['host'] = '192.168.200.5';

Seite 107

dbname=test host=192.168.42.23

Seite 112

Neuen Nagios-Befehl erstellen

define command {
  command_name  check_pgsql_port
  command_line  $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$
}


Neuen Nagios-Service erstellen

define service {
  hostgroup_name          pgsql-port-servers
  service_description     PGSQL-Port
  check_command           check_pgsql_port!5432
  use                     generic-service
  notification_interval   0
  contact_groups          admins
}


Neue Hostgroup erstellen

define hostgroup {
  hostgroup_name    pgsql-port-servers
  alias             PGSQL servers
  members           localhost
}

Seite 113

Neuen Nagios-Befehl erstellen

define command {
  command_name  check_pgsql
  command_line  $USER1$/check_pgsql -H $HOSTADDRESS$ -d $ARG1$ -P $ARG2$ -l nagios_user
}

Seite 114

Neuen Nagios-Service erstellen

define service {
  hostgroup_name          pgsql-servers
  service_description     PGSQL
  check_command           check_pgsql!nagiosdb!5432
  use                     generic-service
  notification_interval   0
  contact_groups          admins
}


Neue Hostgroup erstellen

define hostgroup {
  hostgroup_name    pgsql-servers
  alias             PGSQL servers
  members           localhost
}

Seite 115

neuen Nagios-Befehl erstellen

define command {
  command_name  check_postgres_connections
  command_line  check_postgres.pl --output=nagios       \
                                  --host=$HOSTADDRESS$  \
                                  --dbname=$ARG1$       \
                                  --port=$ARG2$         \
                                  --dbuser=nagios_user  \
                                  --action=backends     \
                                  --warning=80          \
                                  --critical=90
}

Seite 116

pgdoc starten

./pgdoc -d test -f test

Seite 117

DBI-Modul laden

PerlModule Apache::DBI


Datenbankverbindung öffnen

use Apache::DBI;
use DBI;
my $db = Apache::DBI->connect_on_init(
               "dbi:Pg:dbname=$name;host=$host",
               $benutzername, $passwort);

Seite 118

Konfiguration für mod_auth_pgsql

<Directory /srv/web>
	AuthName "Wichtige Webseite"
	AuthType basic
	require valid-user

	Auth_PG_host 127.0.0.1
	Auth_PG_port 5432
	Auth_PG_user web_db
	Auth_PG_pwd geheim
	Auth_PG_database web
	Auth_PG_pwd_table web_nutzer
	Auth_PG_uid_field benutzername
	Auth_PG_pwd_field passwort
</Directory>


weitere Einschränkungen hinzufügen

Auth_PG_pwd_whereclause " AND aktiviert = TRUE "

Seite 119

Logging aktivieren

	Auth_PG_log_table zugriffs_log
	Auth_PG_log_uname_field benutzername
	Auth_PG_log_date_field zeitstempel
	Auth_PG_log_uri_field uri
	Auth_PG_log_addrs_field ip_adresse