Archiv für Juli, 2016

Wetterbericht im Terminal

Veröffentlicht: Juli 29, 2016 in Linux
Schlagwörter:
curl wttr.in/txl
  • txl ist durch die Stadt oder den AirportCode zu ersetzen
  • alternativ funktioniert das ganze natürlich auch im Browser (Hannover)

wttr.in

Advertisements

PostgreSQL – User kicken – DB-Verbindungen droppen

Veröffentlicht: Juli 28, 2016 in Misc
Schlagwörter:
ERROR:  database „Target_DB“ is being accessed by other users

Unter PostgreSQL ist es nicht möglich eine Datenbank (hier Target_DB) zu droppen solange noch aktive Verbindungen zu dieser bestehen.

Lösung

Als SuperUser lassen sich die bestehenden Verbindungen relativ leicht mittels eines SQL-Request trennen. Da es beim Wechsel von 9.1 auf 9.2 Änderungen in der Tabelle pg_stat_activity gab (procpid wurde auf pid geändert), ist es vorher ggf. erforderlich die Version zu ermitteln:

=> SELECT version();
                              version
----------------------------------------------...
 PostgreSQL 9.2.9 on x86_64-unknown-linux-gnu ...

=> SHOW server_version;
 server_version 
----------------
 9.2.9

=> SHOW server_version_num;
 server_version_num 
--------------------
 90209

 

ab PostgreSQL 9.2:
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
  AND pid <> pg_backend_pid();

Zeile 4 verhindert das die eigene Verbindung gedroppt wird.

bis einschließlich PostgreSQL 9.1 :
SELECT pg_terminate_backend(pg_stat_activity.procpid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
  AND procpid <> pg_backend_pid();

Zeile 4 verhindert das die eigene Verbindung gedroppt wird.

Quelltext mit Syntaxhighlighting in Evernote

Veröffentlicht: Juli 24, 2016 in Misc
Schlagwörter:,

Wer Codesnippets oder sogar ganze Skripte in Evernote ablegen möchte hat es nicht ganz einfach, zumindest wenn man Syntaxhighlighting verwenden möchte. Einfache Abhilfe schafft hier PortoCode. Nachdem man PortoCode den Zugriff auf Evernote erlaubt hat, ist die Verwendung relativ einfach.

portocode screenshot

Wer nicht das komplette Dropdown-Menü durchgehen möchte, kann die benötigten Angaben auch eingeben bzw. die Eingabe zum Filtern benutzen.

Bevor man den Code in Evernote hochlädt kann man via Preview nochmal ein Blick darauf werfen.

portocode screenshot

Würde kürzlich das root-Passwort für den MySQL-Server geändert? Falls die Antwort JA lautet, ist dies die Ursache für den Fehler. Um den Fehler zu beheben muss man lediglich ein Configfile (config-db.php)  für phpMyAdmin editieren.

Unter Linux befindet sich das File normalerweise unter: /etc/phpmyadmin/config-db.php

$dbuser='root';
$dbpass='passwort'; // akt. Passwort zwischen die Quotes '  ' einfügen
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

Das neue Passwort muss nun einfach in die Zeile $dbpass zwischen die Anführungszeichen geschrieben werden.

professionelle Skripte mit Getopt::Long

Veröffentlicht: Juli 17, 2016 in Perl
Schlagwörter:

perl-logoGetopt::Long ist ein Modul zum Parsen von Kommandozeilenargumenten, so kann man auf einfache Weise ein Unix-ähnliches Inferface erzeugen. Mit nur wenigen Zeilen Code lassen sich Parameter übergeben, sowie deren Typ prüfen. (mehr …)

Perl – Configfile auslesen

Veröffentlicht: Juli 13, 2016 in Perl
Schlagwörter:

perl-logoOftmals ist es am einfachsten die Konfiguration für ein Programm direkt im Code zu hinterlegen, etwas anders sieht es aus wenn auch Nicht-Programmierer Änderungen an der Config vornehmen müssen. An dieser Stelle soll kurz gezeigt werden wie man ein solches Configfile sehr einfach auslesen und verarbeiten kann.

(mehr …)