Eu também enfrentei o mesmo problema. Eu descobri que, pode ser durante a depuração, estamos permitindo uma fração de tempo após a conexão ser feita#conn =psycopg2.connect(conn_string)#cursor =conn.cursor()
No momento em que pressionamos o botão de execução para a próxima linha (que contém a consulta), o banco de dados atinge o tempo limite e está retornando uma lista vazia.
Se alguém tiver alguma outra lógica de por que isso está acontecendo, por favor, compartilhe.