Das Problem ist gelöst. Nach längerer Suche stellte sich heraus, dass in unserer Postgres-DB ein Fehler vorlag und die Einträge unter
wie auch unter
größtenteils doppelt vorkamen (mit identischer ID und identischem Zeitstempel). Man kann also nicht einfach die Duplikate löschen, sondern muss etwas tiefer in die Trickkiste greifen. Mit Rüdigers und Yanniks Hilfe ist schon vor zwei Jahren ein ähnliches Problem gelöst worden und jetzt konnte auch dieses Problem mit den richtigen psql-Befehlen (hoffentlich) gelöst werden. Ich poste die Befehle hier, damit das Wissen nicht verloren geht; auch wenn das alte Forum abgestellt wird. (Vielleicht wäre sogar eine Kategorie “Tipps & Tricks” hier sinnvoller und schneller angelegt als im Wiki?)
Zunächst:
psql -U ldap ldap
Vorlage von Yannik:
CREATE TABLE table_new as (select distinct * from table);
DELETE FROM table;
INSERT INTO table (select * from table_new);
DROP TABLE table_new;
unsere abgesetzten Befehle:
select * from class_details order by id;
select row_number() over(), * from class_details order by id;
CREATE TABLE class_details_new as (select distinct * from
class_details);
select * from class_details_new order by id;
select * from class_details order by id;
CREATE TABLE class_details_bak as (select * from class_details);
delete from class_details;
INSERT INTO class_details (select * from class_details_new);
select * from class_details order by id;
select * from groups order by gid;
Die IDs von alten Einträgen (die es in der workstations-Datei definitiv nicht mehr gibt!) notiert und auf diese Weise gelöscht (bei uns waren das vier Gruppen mit den IDs 199, 216, 217, 281):
delete from class_details where id=199;
delete from class_details where id=281;
delete from class_details where id=216;
delete from class_details where id=217;
sowie:
delete from groups where id=199;
delete from groups where id=281;
delete from groups where id=216;
delete from groups where id=217;
Anschließend noch in einer weiteren Tabelle nachgesehen und auch da die alten Einträge auf diese Weise gelöscht:
select * from samba_group_mapping order by displayname;
delete from samba_group_mapping where id=199;
delete from samba_group_mapping where id=281;
delete from samba_group_mapping where id=216;
delete from samba_group_mapping where id=217;
sophomorix-room und sophomorix-class liefern jetzt wieder alle Einträge einfach!
Das Problem ist hoffentlich gelöst Damit hat sich hoffentlich gleichzeitig auch die Sache mit den Doppelungen unter /etc/aliases erledigt, denn die Datei wird auch von anderen sophomorix-Tools neu angelegt.