seeseekey.net - Invictus Deus Ex Machina

Wis­sen in struk­tu­rier­ter Form hat im Gegen­satz zu unstruk­tu­rier­tem Wis­sen, einige ent­schei­dende Vor­teile. Der wich­tigste ist wahr­schein­lich die auto­ma­ti­sierte Anwen­dung und Aus­wer­tung durch Com­pu­ter­sys­teme. Natür­lich muss hierzu erst ein­mal das ent­spre­chende Wis­sen in eine struk­tu­rierte Form gebracht wer­den. Genau dies wird beim DBPe­dia Pro­jekt gemacht. Im Falle die­ses von der Uni­ver­si­tät Leip­zig betrie­be­nen Pro­jek­tes wer­den dabei die struk­tu­rier­ten Daten der Wiki­pe­dia aus­ge­wer­tet und der All­ge­mein­heit unter der GPL bzw. der CC-BY-SA Lizenz zur Ver­fü­gung gestellt. Zu fin­den ist das Pro­jekt dabei unter http://de.dbpedia.org/.

Wei­tere Infor­ma­tio­nen gibt es unter:
http://de.wikipedia.org/wiki/DBpedia

Manch­mal benö­tigt man eine MySQL Kom­man­do­zeile, hat aber kein „phpmyad­min“ zur Ver­fü­gung. Für einen sol­chen Fall wäre es schön wenn man eine kleine Anwen­dung hätte wel­che die­ses Pro­blem löst. Genau hier setzt die PHP Anwen­dung „Admi­ner“ an. Dabei han­delt es sich sozu­sa­gen um eine „phpmyad­min“ Minimalversion.

SQL-Query Ansicht im Adminer

Das schöne am Admi­ner ist das er nur aus einer Datei besteht und so unkom­pli­ziert „instal­liert“ wer­den kann. Zu fin­den ist das ganze unter http://www.adminer.org.

Möchte man unter Word­Press den Nut­zer­na­men ändern, so wird man fest­stel­len das dies nicht in der Nut­zer­ober­flä­che mög­lich ist. Viel mehr muss man in die­sem Fall an die Daten­bank ran. Dort gibt es die Tabelle „wp_users“ in wel­cher man den ent­spre­chen­den Nut­zer­na­men unter „user_login“ sucht und ihn dort ändert. Danach kann man sich mit dem neuen Nut­zer­na­men anmelden.

Die Daten in einer SQLite Daten­bank sind im Nor­mal­fall unver­schlüs­selt. Natür­lich kann man die Daten von Hand ver­schlüs­seln, was aber auf Dauer wahr­schein­lich etwas anstren­gend wird. Anhilfe schafft hier die Biblio­thek SQL­Ci­pher mit wel­cher SQLite Daten­ban­ken ver­schlüs­selt wer­den kön­nen. Die Biblio­thek ist dabei Open Source und steht unter der BSD Lizenz. Zu fin­den ist die Biblio­thek unter http://sqlcipher.net/.

Wei­tere Infor­ma­tio­nen gibt es unter:
http://de.wikipedia.org/wiki/Sqlite

Bei einer Daten­bank­ab­frage mit­tels PHP auf eine Post­greSQL Daten­bank kam es zu fol­gen­der Fehlermeldung:

Ungül­tige Byte-Sequenz für Kodie­rung »UTF8«

Gelöst wurde das ganze in dem die Abfrage rich­tig kodiert wurde:

$query=mb_convert_encoding($query, 'UTF-8', mb_detect_encoding($query, "UTF-8, ISO-8859-1, ISO-8859-15", true));

Damit konn­ten die Abfra­gen ohne Pro­bleme an die Daten­bank über­ge­ben werden.

Man staunt doch immer wie­der was es im Inter­net alles gibt. Zum Bei­spiel für den Fall das man die Archi­tek­ten eini­ger Gebäude ermit­teln möchte. In die­sem Falle wäre doch eine Archi­tek­tur­da­ten­bank ideal. Und siehe da so etwas gibt es wirk­lich. Zu fin­den ist das ganze unter http://deu.archinform.net/. Für jeman­den der so etwas benö­tigt, wirk­lich sehr schön :)

Posz­GIS ist eine Erwei­te­rung für Post­greSQL wel­che neue geo­me­tri­schen Daten­ty­pen hin­zu­fügt und zum Bei­spiel spa­tiale Abfra­gen bie­tet. Bei so einem Sys­tem muss man sich natür­lich erst­mal eini­ges anle­sen und hat auch sicher­lich einige Fra­gen. Bei der Beant­wor­tung sol­cher Fra­gen hel­fen die Sei­ten http://postgis.refractions.net/documentation/manual-1.3/ und http://wiki.cismet.de/index.php/Postgres-Postgis-FAQ. Bei ers­te­rem han­delt es sich um das Hand­buch und bei let­ze­rem um eine sehr inter­es­sante FAQ zum Thema Post­GIS. Da sollte für jeden etwas dabei sein.

Möchte man Post­greSQL unter Win­dows instal­lie­ren so muss man erst ein­mal den Instal­ler unter http://www.postgresql.org/download/windows (den One Click Instal­ler) herunterladen.

Sollte es bei der Instal­la­tion zu einem Feh­ler kom­men und im Feh­ler­log irgend­et­was mit VBS erwähnt wer­den, so sollte der Win­dows Script­ing Host (siehe http://de.wikipedia.org/wiki/Windows_Script_Host) nach­in­stal­liert werden.

Ein ande­res Pro­blem kann sein das der ange­legte Nut­zer Postgre nicht genü­gend Rechte auf dem Rech­ter hat. So sollte man ihn ein­fach zum Admi­nis­tra­tor beför­dern und die Instal­la­tion ein wei­te­res Mal lau­fen lassen.

Sollte der Dienst nach der Instal­la­tion nicht star­ten so kann das auf ein Rech­te­pro­blem hin­wei­sen. Dazu sollte man unter Sys­tem­steue­rung -> Ver­wal­tung -> Dienste in die Eigen­schaf­ten des Diens­tes Post­greSQL Ser­ver schauen und unter dem Tab Anmel­den Loka­les Sys­tem­konto anwäh­len und den Rech­ner neu starten.

Läuft der Dienst dann so kann man sich daran machen Post­GIS zu instal­lie­ren. Das ganze macht man über den App­li­ca­tion Stack Buil­der. Dort wählt man Post­GIS aus und lässt sich durch das Setup gelei­ten. Nach der Instal­la­tion sollte man den Rech­ner neustarten.

Ver­sucht man sich nun mit sei­nem Post­greSQL Ser­ver von einer ande­ren Rech­ner zu ver­bin­den (z.B. mit pgAd­min III) so bekommt man fol­gende Feh­ler­mel­dung zu sehen:

Ser­ver doesn’t listen 

The ser­ver doesn’t accept con­nec­tions: the con­nec­tion library reports

could not con­nect to ser­ver: Con­nec­tion refu­sed (0x0000274D/10061) Is the ser­ver run­ning on host „105.106.114.128″ and accep­ting TCP/IP con­nec­tions on port 5433?

If you encoun­ter this mes­sage, please check if the ser­ver you’re try­ing to con­tact is actually run­ning Post­greSQL on the given port. Test if you have net­work con­nec­tivity from your cli­ent to the ser­ver host using ping or equi­va­lent tools. Is your net­work / VPN / SSH tun­nel / fire­wall con­fi­gu­red correctly?

For secu­rity rea­sons, Post­greSQL does not lis­ten on all avail­able IP addres­ses on the ser­ver machine initi­ally. In order to access the ser­ver over the net­work, you need to enable lis­ten­ing on the address first.

For Post­greSQL ser­vers star­ting with ver­sion 8.0, this is con­trol­led using the „listen_addresses“ para­me­ter in the postgresql.conf file. Here, you can enter a list of IP addres­ses the ser­ver should lis­ten on, or sim­ply use ‚*‘ to lis­ten on all avail­able IP addres­ses. For ear­lier ser­vers (Ver­sion 7.3 or 7.4), you’ll need to set the „tcpip_socket“ para­me­ter to ‚true‘.

You can use the postgresql.conf edi­tor that is built into pgAd­min III to edit the postgresql.conf con­fi­gu­ra­tion file. After chan­ging this file, you need to restart the ser­ver pro­cess to make the set­ting effective.

If you double-checked your con­fi­gu­ra­tion but still get this error mes­sage, it’s still unli­kely that you encoun­ter a fatal Post­greSQL mis­be­ha­viour. You pro­bably have some low level net­work con­nec­tivity pro­blems (e.g. fire­wall con­fi­gu­ra­tion). Please check this tho­roughly before reporting a bug to the Post­greSQL community.

Dazu trägt man sich dann in der pg_hba.conf die Zeile

host all all 101.102.103.104/32 md5 

dazu. Natür­lich muss man das ganze mit sei­ner IP Adresse machen (z.B. 192.168.0.0/16 für 192.168.0.0 bis 192.168.255.255) :)

Wei­tere Infor­ma­tio­nen gibt es unter:
http://de.wikipedia.org/wiki/PostgreSQL
http://de.wikipedia.org/wiki/PostGIS