rispondo un po in ritardo...
Per quanto riguarda l'errore 4, sono perplessa, in questo senso: secondo me joomla 3.0.1 con mysqli funziona per puro sbaglio . Mi spiego meglio. Il tuo codice e quello del driver mysqli sono allineati.
Sia il tuo postgres.sql righe 674-679, sia il mysqli.php righe 531-535 buttano a video un messaggio con gli errori del dbms.
MySQLi non manda niente a video perchè il driver (o direttamente il db) troncano il valore a 255 caratteri così, per partito preso. In pratica mysql non da errore, postgres (secondo me giustamente) invece si.
Ho controllato la select che arriva a mysql con la mysqli_query, il campo titolo non viene ripulito prima dal codice con una substr per esempio, arriva al db una stringa oltre i 255 caratteri, e mysql ne salva solo i primi 255. Ho controllato, Mysql si composta così anche col vecchio driver, il mysql_query per intenderci.
purtroppo è proprio come hai scritto, "funziona per puro sbaglio"
MySQL tronca la stringa a 255 caratteri, senza segnalare nulla, postgresql lo fa perché stai tentando di scrivere più caratteri di quanti lui al massimo si aspetta!
adesso non so precisamente qual'è il codice che genera l'errore, ma sicuramente sarà per uno dei campi creati come "character varying(255)", il che significa un tipo che accetta una stringa da 0 a 255 caratteri, non di più.
Il concetto che può trarre in inganno è proprio del "tipo", postgresql è tipizzato e controlla i tipi di cosa si sta inserendo, mysql non mi pare...la soluzione è semplice, prendere il codice del CMS che genera questo errore e troncarla a 255 (o 254, non ricordo se postgresql ha bisogno dell'ultimo carattere di '\0' come terminatore di stringa, alla C-style visto che postgresql è scritto proprio in C) e poi passarla al db, qualunque esso sia.
Continuerò a dare un'occhiata alla vostra lista, tempo permettendo
Gabriele.