問題タブ [jdbc-postgres]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - postgres が結果を返す前にサーバーでソケットが閉じられています - c3p0
これは、システムに負荷がかかっている場合にのみ発生します。少なくともそれは顕著です。
Postgres 8.3.14 JDK 1.6 Tomcat 6 マシンには 7GB のメモリがあります
postgres データ ディレクトリが hd 全体を使い果たしていることに気付きました。100GB ドライブに postgres があり、数時間以内にいっぱいになります。
1,000 万行、多くの結合があり、ほとんどが読み取りです。
使用量が一晩で 10 倍になったので、これに気付きました。
shared_buffers = 2GB effective_cache_size = 3GB ほとんど変更しない場合、他のすべて
21:56:59,736 DEBUG BasicResourcePool:1620 - トレース com.mchange.v2.resourcepool.BasicResourcePool@176b9ea [管理: 24、未使用: 1、除外: 0] (例: com.mchange.v2.c3p0.impl.NewPooledConnection@1c3dc66 ) 21:56:59,736 DEBUG BasicResourcePool:1620 - トレース com.mchange.v2.resourcepool.BasicResourcePool@176b9ea [管理: 24、未使用: 1、除外: 0] (例: com.mchange.v2.c3p0.impl.NewPooledConnection@ 1c3dc66) 21:56:59,736 DEBUG BasicResourcePool:1450 - 期限切れのリソースのチェックが完了しました。[com.mchange.v2.resourcepool.BasicResourcePool@176b9ea] 21:56:59,736 DEBUG BasicResourcePool:956 - リソースを破棄する準備をしています: com.mchange.v2.c3p0.impl.NewPooledConnection@1e0a562 21:56:59,736 DEBUG C3P0PooledConnectionPool:468 - PooledConnection を破棄する準備をしています: com.mchange.v2.c3p0.impl.NewPooledConnection@1e0a562 21:56:59, 736 DEBUG NewPooledConnection:564 - com.mchange.v2.c3p0.impl.NewPooledConnection@1e0a562 がクライアントによって閉じられました。java.lang.Exception: DEBUG -- com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:564) のクライアント スタック トレースによるクローズ com.mchange.v2.c3p0.impl.NewPooledConnection.close( NewPooledConnection.java:234) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470) com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:958) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run (ThreadPoolAsynchronousRunner.java:547) で 21:56:59,736 デバッグ C3P0PooledConnectionPool:476 - PooledConnection が正常に破棄されました: com.mchange.v2.c3p0.impl。NewPooledConnection@1e0a562 21:56:59,736 DEBUG BasicResourcePool:961 - 正常に破棄されたリソース: com.mchange.v2.c3p0.impl.NewPooledConnection@1e0a562 21:56:59,737 DEBUG NewPooledConnection:430 - com.mchange.v2.c3p0.impl. NewPooledConnection@1e0a562 スロー可能オブジェクトを処理しています。org.postgresql.util.PSQLException:バックエンドへの送信中に I/O エラーが発生しました。org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283) で org.postgresql.jdbc2.AbstractJdbc2Statement.execute でprocessResults(QueryExecutorImpl.java:1620) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) ... 58 さらに 21:56:59,737 DEBUG SqlUtils:85 - SQLException を SQLException に変換しようとしました。放っておく。[SQLState: 08006; errorCode: 0] org.postgresql.util.PSQLException:バックエンドへの送信中に I/O エラーが発生しました。org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283) で org.postgresql.jdbc2.AbstractJdbc2Statement.execute で(AbstractJdbc2Statement.java:479) org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367) で org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271) で com.mchange.v2.c3p0。 impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) org.hibernate.loader.Loader.getResultSet(Loader.java:1953) org.hibernate org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) の .loader.Loader.doQuery(Loader.java:802) org.hibernate.loader.Loader.loadEntity(Loader.java:2037) の org. org.hibernate.loader.entity の hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)。AbstractEntityLoader.load(AbstractEntityLoader.java:76) の org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3268) の org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496) の org .hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477) org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227) org.hibernate.event.def.DefaultLoadEventListener.lockAndLoad(DefaultLoadEventListener) .java:403) org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090) で org.hibernate.impl.SessionImpl. org.hibernate.impl.SessionImpl の load(SessionImpl.java:1061)。com.icon.sa.service.action.auser.ItemUpdateAction.pre(ItemUpdateAction. java:28) com.icon.sa.service.action.BaseAction.perform(BaseAction.java:59) で com.icon.sa.ws.auser.ItemResource.update(ItemResource.java:43) で sun.reflect .GeneratedMethodAccessor299.invoke(不明なソース)、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)、java.lang.reflect.Method.invoke(Method.java:616)、com.sun.jersey.server.impl .model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:168) com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279) でのディスパッチ (ResourceJavaMethodDispatcher.java:70) com.sun.jersey.server.impl.uri.rules.SubLocatorRule で。 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136) で、com.sun.jersey.server.impl.uri.rules.SubLocatorRule で (SubLocatorRule.java:121) を受け入れます。 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136) で (SubLocatorRule.java:121) を受け入れ、com.sun.jersey.server.impl.uri.rules.ResourceClassRule で受け入れます。 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136) で (ResourceClassRule.java:86)、com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule で受け入れます。 com.sun.jersey で (RootResourceClassesRule.java:74) を受け入れます。server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1357) com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1289) com.sun.jersey.server.impl. application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229) at com.sun.jersey.spi.container.servlet.WebComponent. service(WebComponent.java:420) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:497) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer. java:684) の javax.servlet.http.HttpServlet.service(HttpServlet.java:717) の org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) org.apache .catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java) :102) org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:647) で org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) で org.apache.catalina.connector. CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) で org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) で java.lang .Thread.run(Thread.java:636) 原因: java.net.SocketException: java.net.SocketInputStream.socketRead0(ネイティブ メソッド) でソケットが閉じられました java.net.SocketInputStream.read(SocketInputStream.java:146) でorg.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:135) org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:104) at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73) org.postgresql.core.PGStream.ReceiveChar(PGStream.java:259) で org.postgresql.core.v3.QueryExecutorImpl で。processResults(QueryExecutorImpl.java:1620) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) ... 58 さらに 21:56:59,738 DEBUG DefaultConnectionTester:126 - 例外に応答して接続をテストする: org.postgresql.util.PSQLException:バックエンドへの送信中に I/O エラーが発生しました。org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283) で org.postgresql.jdbc2.AbstractJdbc2Statement.execute でprocessResults(QueryExecutorImpl.java:1620) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) ... 58 さらに 21:56:59,738 DEBUG DefaultConnectionTester:194 - 接続 org.postgresql.jdbc4.Jdbc4Connection @3aca がデフォルトのシステムテーブル接続テストに失敗し、例外が発生しました! org.postgresql.util.PSQLException:バックエンドへの送信中に I/O エラーが発生しました。org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283) で org.postgresql.jdbc2.AbstractJdbc2Statement.execute で(AbstractJdbc2Statement.java:479) org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353) org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252) org.postgresql.jdbc2.AbstractMeta2Data com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:185) の getTables(AbstractJdbc2DatabaseMetaData.java:2062) com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:62) のcom.mchange.v2.c3p0.impl.DefaultConnectionTester.statusOnException(DefaultConnectionTester.java:143) で com.mchange.v2.c3p0.AbstractConnectionTester.statusOnException(AbstractConnectionTester.java:82) で com.mchange.v2.c3p0.impl .NewPooledConnection。handleThrowable(NewPooledConnection.java:437) com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:93) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) org.hibernate .loader.Loader.getResultSet(Loader.java:1953) org.hibernate.loader.Loader.doQuery(Loader.java:802) org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) org. hibernate.loader.Loader.loadEntity(Loader.java:2037) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java: 76) org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3268) で org.hibernate.event.def.org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477) で DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496) org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227) で org .hibernate.event.def.DefaultLoadEventListener.lockAndLoad(DefaultLoadEventListener.java:403) org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:155) org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java) :1090) org.hibernate.impl.SessionImpl.load(SessionImpl.java:1061) で org.hibernate.impl.SessionImpl.load(SessionImpl.java:1050) で com.icon.sa.common.dm.dao. BaseDao.findByIdLockedOrException(BaseDao.java:52) com.icon.sa.service.action.auser.ItemUpdateAction.pre(ItemUpdateAction.java:28) com.icon.sa.service.action.BaseAction.perform(BaseAction.java:59) で com.icon.sa.ws.auser.ItemResource.update(ItemResource.java:43) で sun.reflect .GeneratedMethodAccessor299.invoke(不明なソース)、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)、java.lang.reflect.Method.invoke(Method.java:616)、com.sun.jersey.server.impl .model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:168) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:70) at com.sun com.sun.jersey.server.impl.uri.rules.SubLocatorRule の .jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279)。com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136) で、com.sun.jersey.server.impl.uri.rules.SubLocatorRule で (SubLocatorRule.java:121) を受け入れます。 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136) で (SubLocatorRule.java:121) を受け入れ、com.sun.jersey.server.impl.uri.rules.ResourceClassRule で受け入れます。 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136) で (ResourceClassRule.java:86)、com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule で受け入れます。 com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1357) で (RootResourceClassesRule.java:74) を受け入れ、com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.ジャバ:1289) com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239) com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229) com .sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:497) at com.sun.jersey .spi.container.servlet.ServletContainer.service(ServletContainer.java:684) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java) :290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で org.apache.catalina.core.StandardWrapperValve で。org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) の invoke(StandardWrapperValve.java:233) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) の org.apache .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:647) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java) :109) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864) で org.apache.coyote.http11 で org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) で java.lang.Thread.run(Thread.java:636) 原因: java.io.IOException: ストリームが sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:44) で sun.nio.cs.StreamEncoder.flush で閉じられました(StreamEncoder.java:139) で java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) で org.postgresql.core.PGStream.flush(PGStream.java:507) で org.postgresql.core.v3.QueryExecutorImpl. sendSync(QueryExecutorImpl.java:1107) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:256) ... 64 もっと見るflush(PGStream.java:507) at org.postgresql.core.v3.QueryExecutorImpl.sendSync(QueryExecutorImpl.java:1107) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:256) ... 64もっとflush(PGStream.java:507) at org.postgresql.core.v3.QueryExecutorImpl.sendSync(QueryExecutorImpl.java:1107) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:256) ... 64もっと
ここに私の設定があります
java - JDBC による挿入時のエラー
以下の sql ステートメントを実行するpsql
と正常に動作しますが、同じクエリを で構築して実行しようとするpreparedstatement
と失敗します。
私が取得し続けるエラーは
coordinates
列のタイプですGEOGRAPHY(POINT)
java - 起動パケットに postgresql ユーザー名が指定されていません
Android Emulator でプログラムを実行します。私のプログラムには次のエラーがあります。
プログラムのどこが間違っていますか? どうすればよいですか?
java - Postgres の JDBC ドライバーは getAutoCommit() をキャッシュしますか?
Postgres の JDBC ドライバーは の結果をキャッシュしますgetAutoCommit()
か?
Glassfish 3 の docs に従って、これを知ってauto-commit
、自分のものとして使用できるかどうかを判断する必要があります (テーブルを選択する必要がconnection-validation-method
ある他のものtable
とは異なります):
多くの JDBC ドライバーは、自動コミットおよびメタデータ呼び出しの結果をキャッシュするため、常に信頼できる検証を提供するとは限りません。これらの呼び出しがキャッシュされているかどうかについては、ドライバーのベンダーに確認してください。
私は現在使用していpostgresql-9.1-903.jdbc4.jar
ます。
database - Scala 2.9.3 postgres ドライバー
私は Scala 2.9.3 を使用しています。これは、Spark プロジェクトが必要とする最新バージョンだからです。しかし、2.9.3 をサポートする Postgres 用のデータベース ドライバーが見つかりません。それらはすべて 2.9.2 までサポートし、その後 2.10.0 にジャンプします。
そのようなものは存在しますか?
java - jspでダイアログとして保存
私のJSPページでボタン(ダウンロード結果)を作成しました。ボタンをクリックすると、名前を付けて保存ダイアログボックスが表示されます。ユーザーは、ダウンロードしたファイルを保存するパスを選択します。ユーザーがダウンロード結果ボタンをクリックすると、テーブルからすべてのレコードが取得され、Excel ファイルに保存されます。このために、postgre にある COPY コマンドを使用しようとしています。
私のコード:
"copy datas.del16 to D:/file.xls DELIMITER ',' CSV HEADER ", " D:/file.xls" は、ユーザーが選択したパスに置き換える必要があります。
ありがとう、カーティカ
java - PostgreSQL の現在のデータベースを java から変更する
javaアプリケーションからpostgreSQLの現在のデータベースを変更する方法はありますか? または同等のものはあります\connect report
か?JDBC接続文字列を変更することでこれを実行できることはわかっていますが、より良い代替手段はありますか?
java - java.lang.IllegalStateException: プールが開いていません
大規模な Db トランザクションを処理しているときに、次の問題が発生しました。
DB 接続は HibernateTemplate によって管理されます。トランザクションは Spring Transaction Management によって管理されます。データベースは PostgreSQL です。
5 ~ 10 のトランザクションがある場合、同じコードが正常に機能します。