Erro estranho com PostgreSQL

olá…
Estou com um erro muito estranho na minha aplicação…
uso o banco postgre e já estou quase acabando a implementação de todo o sistema mas agora, de uma hora pra outra, quando executo as telas que listam dados das tabelas, às vezes lista um erro PSQLException: A tentativa de conexão falhou.
e é estranho… pois quando abro uma tela ou aperto um botão que faz uma conexão com banco, por exemplo, lista o erro… daí faço isso denovo… abro uma vez, duas, três e só na quarta o erro é listado denovo… daí abro denovo e o erro não aparece… ae abro denovo e na segunda vez o erro é listado…
não sei o que pode ser pois esse erro lista quando quer, não é sempre…

org.postgresql.util.PSQLException: A tentativa de conexão falhou.
Exceção: java.net.SocketException: Connection reset
Análise da Pilha:
java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:135)
	at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:104)
	at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
	at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:255)
	at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:253)
	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:94)
	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
	at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
	at org.postgresql.jdbc2.Jdbc2Connection.<init>(Jdbc2Connection.java:24)
	at org.postgresql.Driver.makeConnection(Driver.java:382)
	at org.postgresql.Driver.connect(Driver.java:260)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at database.control.ConnectionManager.getConnection(ConnectionManager.java:56)
	at database.control.SQLManager.getPreparedStatement(SQLManager.java:34)
	at database.EmpresaDAOImpl.getAtiva(EmpresaDAOImpl.java:243)
	at database.EmpresaDAOImpl.existeAtiva(EmpresaDAOImpl.java:348)
	at view.JFFluxoCaixa.formWindowOpened(JFFluxoCaixa.java:527)
	at view.JFFluxoCaixa.access$0(JFFluxoCaixa.java:525)
	at view.JFFluxoCaixa$1.windowOpened(JFFluxoCaixa.java:123)
	at java.awt.AWTEventMulticaster.windowOpened(Unknown Source)
	at java.awt.Window.processWindowEvent(Unknown Source)
	at javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.awt.Window.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Fim da Análise da Pilha

	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:136)
	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
	at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
	at org.postgresql.jdbc2.Jdbc2Connection.<init>(Jdbc2Connection.java:24)
	at org.postgresql.Driver.makeConnection(Driver.java:382)
	at org.postgresql.Driver.connect(Driver.java:260)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at database.control.ConnectionManager.getConnection(ConnectionManager.java:56)
	at database.control.SQLManager.getPreparedStatement(SQLManager.java:34)
	at database.EmpresaDAOImpl.getAtiva(EmpresaDAOImpl.java:243)
	at database.EmpresaDAOImpl.existeAtiva(EmpresaDAOImpl.java:348)
	at view.JFFluxoCaixa.formWindowOpened(JFFluxoCaixa.java:527)
	at view.JFFluxoCaixa.access$0(JFFluxoCaixa.java:525)
	at view.JFFluxoCaixa$1.windowOpened(JFFluxoCaixa.java:123)
	at java.awt.AWTEventMulticaster.windowOpened(Unknown Source)
	at java.awt.Window.processWindowEvent(Unknown Source)
	at javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.awt.Window.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at database.control.SQLManager.getPreparedStatement(SQLManager.java:34)
	at database.EmpresaDAOImpl.getAtiva(EmpresaDAOImpl.java:243)
	at database.EmpresaDAOImpl.existeAtiva(EmpresaDAOImpl.java:348)
	at view.JFFluxoCaixa.formWindowOpened(JFFluxoCaixa.java:527)
	at view.JFFluxoCaixa.access$0(JFFluxoCaixa.java:525)
	at view.JFFluxoCaixa$1.windowOpened(JFFluxoCaixa.java:123)
	at java.awt.AWTEventMulticaster.windowOpened(Unknown Source)
	at java.awt.Window.processWindowEvent(Unknown Source)
	at javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.awt.Window.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

não há erro no código pois, como eu disse… ora a tela abre e não lista o erro, ora ela abre e lista…
mais estranho ainda é q mesmo com o erro, a conexão com o banco continua funcionando na tela…
posso gravar, alterar, excluir, listar etc…
o que pode ser isso?? problema do postgre?
ah… já fiz backup e criei banco novo e nada…
mesmo sabendo que nao era erro de código já o revisei mil vezes…
já troquei a porta do banco…
firewall desativado…

quem souber, por favor ajude…
obrigado!