L'utilizzo di pd.to_datetime() su ogni elemento ha funzionato. L'opzione 4, che non funziona, applica pd.to_datetime() all'intera serie. Forse il driver Postgres comprende python datetime, ma non datetime64 in panda e numpy. L'opzione 4 ha prodotto l'output corretto, ma ho ricevuto ValueError (vedi titolo) durante l'invio del DF a Postgres
timesAsPyDt = (spy0030Df['dt']).apply(lambda d: pd.to_datetime(str(d)))