Con un po' di aiuto ho trovato la soluzione nei documenti Npgsql, qui .
Npgsql per impostazione predefinita viene fornito con alcuni parametri di timeout per la connessione e i comandi. Dopo un riavvio di Windows, il primo accesso alla tabella è stato molto lento, provocando il timeout del comando.
Con parametri aggiuntivi sulla stringa di connessione sono stato in grado di modificare quelle impostazioni più in alto e risolvere il mio problema:
connectionString += ";Timeout=180;Command Timeout=180";
Mancia bonus :una funzione Postgresql pg_sleep(seconds)
mi ha aiutato a riprodurre il problema senza riavvii effettivi. Molto utile:
SELECT pg_sleep(60);