Po hraní s věcmi jsem si uvědomil, v čem je problém:field.types
musí to být seznam NAMED vektor, nikoli pouze seznam; navíc nesmí být zahrnuty názvy řádků, jinak potřebujeme tři typy polí. Ve výše uvedeném příkladu funguje dobře:
dbWriteTable(con, name="table_name", value=df,
field.types = c(dte="date", val="double(20,10)"), row.names=FALSE)