Till yesterday I was more than satisfied by RODBC, specifically by sqlSave which I had been happily using in a daily crontab R batch job regularly updating a postgresql db for as long as one year. In this R- batch I was able to save records into indexed tables *** even though *** they already existed. in this case sqlSave simply neglected those rows of the input table that were offending the constraints of existing rows of a table, only appending the *** very new *** rows. Yesterday I updated the R packages in my unix box including RODBC and running the R batch the following error popped up ((I only added the verbose option to sqlSave!) =================================================== sqlSave(canale, tabella1, tablename="tminmax", rownames=FALSE, varTypes=tipicampitminmax, append=TRUE,fast=TRUE,verbose=T) Query: INSERT INTO tminmax ( data, cod_wmo, tipo, t ) VALUES ( ?,?,?,? ) Binding: data: DataType 9 Binding: cod_wmo: DataType 1 Binding: tipo: DataType 1 Binding: t: DataType 2 Parameters: no: 1: data 2007-01- 26/***/no: 2: cod_wmo 16045/***/no: 3: tipo MIN/***/no: 4: t -2.5/***/ sqlwrite returned [RODBC] Failed exec in Update 01000 -1 [unixODBC] Error while executing the query (non-fatal); ERROR: duplicate key violates unique constraint "data_cod_tipo" Query: DROP TABLE tminmax Errore in sqlSave(canale, tabella1, tablename = "tminmax", rownames = FALSE, : unable to append to table 'tminmax' ==========================================It seems to say that the violation caused a non-fatal error nevertheless it stopped the batch job without going on! What should I do? Ciao Vittorio PS Eliminating from the original postgresql the offending records, of course, the above mentioned sqlSave command works like a charme!