The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::PostgreSql::Psql - Wrapper für psql

BASE CLASS

Quiq::Object

SYNOPSIS

  use Quiq::PostgreSql::Psql;
  
  Quiq::PostgreSql::Psql->run($database,@opt);

DESCRIPTION

Die Klasse stellt einen Wrapper für den PostgreSQL-Client psql dar.

METHODS

Klassenmethoden

run() - Starte psql-Sitzung ohne Passworteingabe

Synopsis

  $exitCode = $class->run($database);

Arguments

$database

Name der Datenbank oder der Universal Database Locator (UDL). Der Name muss in der Datenbank-Konfigurationsdatei definiert sein.

Options

-command => $cmd

Führe Kommando $cmd aus und terminiere die Verbindung.

-echo => $bool (Default: wenn -script 1, sonst 0)

Gib alle Kommandos, die an den Server geschickt werden, auf stdout aus.

-log => $file

Logge Sitzung nach Datei $file.

-script => $file

Führe SQL-Skript $file aus und terminiere die Verbindung.

-showInternal => $bool (Default: 0)

Gib die Queries aus, die psql im Zusammenhang mit Backslash-Kommandos intern ausführt.

-stopOnError => $bool (Default: wenn -script 1, sonst 0)

Terminiere beim ersten Fehler.

-debug => $bool (Default: 0)

Gib das ausgeführte psql-Kommando auf STDOUT aus.

Returns

Bei interaktiver Sitzung 0. Bei Skript- oder Kommando-Ausführung wie bei psql(1).

Description

Rufe psql auf und führe eine Anmeldung durch, auch bei Passwort-Authentisierung. Die Datenbank kann per Name kontaktiert werden kann, wenn der UDL in die Konfiguration (s. Quiq::Database::Config) eingetragen wurde.

Example

  $ perl -MQuiq::PostgreSql::Psql -E 'Quiq::PostgreSql::Psql->run("test")'
  Password for user xv882js:
  Pager usage is off.
  Timing is on.
  psql (8.2.15)
  SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
  Type "help" for help.
  
  dsstest=>

VERSION

1.196

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2021 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.