【问题标题】:How to fix SQL errors, terminating connection and SQLState: 57P01如何修复 SQL 错误、终止连接和 SQLState:57P01
【发布时间】:2020-04-27 03:46:07
【问题描述】:

我的应用程序在虚拟服务器上运行,并通过部署在 Heroku 上的 Hibernate 寻址到 Postgres DB。每隔几天,我的应用程序就会停止并显示控制台消息:

Jan 09, 2020 3:36:18 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 0, SQLState: 57P01
Jan 09, 2020 3:36:18 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: FATAL: terminating connection due to administrator command
Jan 09, 2020 3:36:18 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 0, SQLState: 08006
Jan 09, 2020 3:36:18 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: An I/O error occured while sending to the backend.
Jan 09, 2020 3:36:18 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 0, SQLState: 08003
Jan 09, 2020 3:36:18 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: This connection has been closed.

我的hibernate.cfg.xml:

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.url">jdbc:postgresql:url</property>
        <property name="hibernate.connection.username">user</property>
        <property name="hibernate.connection.password">pass</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL94Dialect</property>
        <property name="show_sql">true</property>

        <property name="hibernate.c3p0.idle_test_period">300</property><property name="hibernate.c3p0.timeout">3000</property>
        <property name="hibernate.c3p0.max_size">15</property>
        <property name="hibernate.c3p0.min_size">3</property>
        <property name="hibernate.c3p0.max_statements">0</property>
        <property name="hibernate.c3p0.testConnectionOnCheckout">true</property>
        <property name="hibernate.c3p0.preferredTestQuery">select 1;</property>

    </session-factory>
</hibernate-configuration>

感谢任何有用的建议。

【问题讨论】:

    标签: java sql postgresql hibernate heroku


    【解决方案1】:

    这看起来像是数据库服务器已重新启动,或者您的数据库连接被管理员终止了。

    检查 PostgreSQL 日志文件是否重新启动并询问您的 DBA。

    应该对您的应用程序进行编程,以便在数据库连接出现问题时自动重新连接到数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 2022-12-16
      相关资源
      最近更新 更多