Hallo.
Nach der Migration einer mySQL Datenbank habe ich folgendes Problem.
Bei zu langen Tabellennamen oder Spaltennamen wird beim Erstellen der Sequence der Sequencename auf 31 Zeichen gekürzt. Bis jetzt habe ich mir den Sequencenamen (innerhalb meines Programms) immer so zusammengebaut:
[schemaname][tabellenname][spaltenname]_seq
Wird der Sequencename gekürzt klappt das natürlich nicht mehr.
Nach ein wenig Sucherei bin eigentlich auf die Lösung meines Problems gestoßen. Die PostgreSQL Function pg_get_serial_sequence() gibt gibt den Namen einer Sequence zurück. Allerdings wurde bei der Migration der mySQL Datenbank mit DDLUtils von apache, bei den Primary Keys kein Datentyp serial vergeben, sondern der Datentyp, der dem von mySQL in PostgreSQL entspricht.
Die bei der Migration erstellte Sequence wird so angesprochen:
nextval([schemaname][tabellenname][spaltenname]_seq’’::regclass)
Vielleicht weiß jemand wie ich trotzdem irgendwie den Sequencenamen einer Spalte herausfinden oder berechnen kann.
lg
andi k.