Reset der Synology Photo Station

23. Juni 2016 · Anwendungen · andreas · 8 Kommentare

Nachdem die Datenbank der Photo Station leider beschädigt war, musste sie zurückgesetzt werden.

Symptome waren u.a. Meldungen in der Form

Jun 14 21:11:06 mynas synoindexplugind: Failed to run PQexec: ERROR: duplicate key value violates unique constraint "image_label_ukey"
Jun 14 21:11:06 mynas synoindexplugind: photo_database.cpp:3708 Failed to exec [INSERT INTO photo_image_label (image_id, label_id, info_new, status) VALUES(61877, 29, '', 't')] (ERROR: duplicate key value violates unique constraint "image_label_ukey"
Jun 14 21:11:06 mynas synoindexplugind: photo_database.cpp:1434 PhotoInfoDBImageLabelDataAdd failed for /volume1/photo/Dateiname, iPhotoId: 61877, iLabelId: 29

in der Datei “/var/log/messages”. Eine Neuinstallation der Photo Station brachte nicht die erhoffte Besserung, beim erneuten Indizieren trat der Fehler wieder auf, denn die Datenbank bleibt bei der Deinstallation des Paketes erhalten.

Also musste die Kommandozeile mit psql ran.

Die Anmeldung gelingt unter DSM 5.2 mit dem Benutzer “postgres” problemlos:

mynas> psql -U postgres
psql (9.3.6)
Type "help" for help.

Anschließend kann über “\list” eine Liste der installierten Datenbanken aufgerufen werden:

postgres=# \list
                               List of databases
    Name     |   Owner    | Encoding  | Collate | Ctype |   Access privileges
-------------+------------+-----------+---------+-------+-----------------------
 ........... | .......... | SQL_ASCII | C       | C     |
 photo       | postgres   | SQL_ASCII | C       | C     |
 ........... | .......... | SQL_ASCII | C       | C     |

in der auch die zur Photo Station gehörende Datenbank aufgelistet wird.

Diese kann dann mittels

postgres=# drop database photo;
DROP DATABASE

gelöscht und der Kommandozeilen-Client mit

postgres=# \quit
mynas>

verlassen werden. Bei der anschließenden Neuinstallation legt die Photo Station die Datenbank wieder an und fängt an, diese (hoffentlich fehlerfrei) zu befüllen.