web-dev-qa-db-ja.com

0xDBE / PHPStorm / IDEAデータベースのテーブルの同期に失敗しました

0xDBEのデータベーステーブルを同期しようとすると、次のエラーが発生します。

Method org.postgresql.jdbc4.Jdbc4Array.free() is not yet implemented.
Method org.postgresql.jdbc4.Jdbc4Array.free() is not yet implemented.
The SQL statement:
with languages as (select oid as lang_oid, lanname as lang
                   from pg_catalog.pg_language),
     routines as (select proname as r_name,
                         prolang as lang_oid,
                         oid as r_id,
                         xmin as r_state_number,
                         proargnames as arg_names,
                         proargmodes as arg_modes,
                         proargtypes::int[] as in_arg_types,
                         proallargtypes::int[] as all_arg_types,
                         proargdefaults as arg_defaults,
                         provariadic as arg_variadic_id,
                         prorettype as ret_type_id,
                         proisagg as is_aggregate,
                         proiswindow as is_window,
                         provolatile as volatile_kind
                  from pg_catalog.pg_proc
                  where pronamespace = oid(?)
                    and xmin::varchar::bigint > ?)
select *
from routines natural join languages

  at org.jetbrains.jdba.jdbc.BaseExceptionRecognizer.recognizeException(BaseExceptionRecognizer.Java:48)
  at org.jetbrains.jdba.jdbc.JdbcIntermediateSession.recognizeException(JdbcIntermediateSession.Java:347)
  at org.jetbrains.jdba.jdbc.JdbcIntermediateCursor.fetch(JdbcIntermediateCursor.Java:249)
  at com.intellij.database.remote.jdba.impl.RemoteCursorImpl.fetch(RemoteCursorImpl.Java:31)
  at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
  at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
  at Java.lang.reflect.Method.invoke(Method.Java:606)
  at Sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.Java:322)
  at Sun.rmi.transport.Transport$2.run(Transport.Java:202)
  at Sun.rmi.transport.Transport$2.run(Transport.Java:199)
  at Java.security.AccessController.doPrivileged(Native Method)
  at Sun.rmi.transport.Transport.serviceCall(Transport.Java:198)
  at Sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.Java:567)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.Java:828)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.Java:619)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.Java:684)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.Java:681)
  at Java.security.AccessController.doPrivileged(Native Method)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.Java:681)
  at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
  at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
  at Java.lang.Thread.run(Thread.Java:745)
  at Sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.Java:275)
  at Sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.Java:252)
  at Sun.rmi.server.UnicastRef.invoke(UnicastRef.Java:161)
  at Java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.Java:217)
  at Java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.Java:171)
  at com.Sun.proxy.$Proxy93.fetch(Unknown Source)
  at Sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
  at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
  at Java.lang.reflect.Method.invoke(Method.Java:606)
  at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.Java:124)
  at com.intellij.execution.rmi.RemoteUtil.access$100(RemoteUtil.Java:36)
  at com.intellij.execution.rmi.RemoteUtil$RemoteInvocationHandler.invoke(RemoteUtil.Java:229)
  at com.Sun.proxy.$Proxy94.fetch(Unknown Source)
  at org.jetbrains.jdba.intermediate.AdaptIntermediateStructCollectingCursor.fetch(AdaptIntermediateStructCollectingCursor.Java:107)
  at org.jetbrains.jdba.core.BaseQueryRunner.fetchPack(BaseQueryRunner.Java:88)
  at org.jetbrains.jdba.core.BaseQueryRunner.run(BaseQueryRunner.Java:70)
  at com.intellij.dbm.postgre.PostgreIntrospector$SchemaRetriever.h(PostgreIntrospector.Java:459)
  at com.intellij.dbm.postgre.PostgreIntrospector$SchemaRetriever.access$600(PostgreIntrospector.Java:177)
  at com.intellij.dbm.postgre.PostgreIntrospector$SchemaRetriever$4.run(PostgreIntrospector.Java:246)
  at com.intellij.dbm.postgre.PostgreIntrospector$SchemaRetriever.a(PostgreIntrospector.Java:203)
  at com.intellij.dbm.postgre.PostgreIntrospector$SchemaRetriever.retrieve(PostgreIntrospector.Java:242)
  at com.intellij.dbm.postgre.PostgreIntrospector$2.run(PostgreIntrospector.Java:169)
  at org.jetbrains.jdba.core.BaseSession.inTransaction(BaseSession.Java:88)
  at org.jetbrains.jdba.core.BaseFacade$2.run(BaseFacade.Java:93)
  at org.jetbrains.jdba.core.BaseFacade.inSession(BaseFacade.Java:125)
  at org.jetbrains.jdba.core.BaseFacade.inTransaction(BaseFacade.Java:89)
  at com.intellij.dbm.postgre.PostgreIntrospector.a(PostgreIntrospector.Java:165)
  at com.intellij.dbm.postgre.PostgreIntrospector.b(PostgreIntrospector.Java:153)
  at com.intellij.dbm.postgre.PostgreIntrospector.introspect(PostgreIntrospector.Java:86)
  at com.intellij.database.dataSource.NativeSchemaLoader.a(NativeSchemaLoader.Java:113)
  at com.intellij.database.dataSource.NativeSchemaLoader.introspectAndAdapt(NativeSchemaLoader.Java:67)
  at com.intellij.database.dataSource.DatabaseSchemaLoader.loadDataSourceState(DatabaseSchemaLoader.Java:107)
  at com.intellij.database.dataSource.AbstractDataSource.refreshMetaData(AbstractDataSource.Java:59)
  at com.intellij.database.dataSource.AbstractDataSource$1.perform(AbstractDataSource.Java:34)
  at com.intellij.database.dataSource.AbstractDataSource$1.perform(AbstractDataSource.Java:32)
  at com.intellij.database.dataSource.AbstractDataSource.performJdbcOperation(AbstractDataSource.Java:110)
  at com.intellij.database.dataSource.AbstractDataSource.refreshMetaData(AbstractDataSource.Java:32)
  at com.intellij.database.dataSource.DataSourceUiUtil$2.run(DataSourceUiUtil.Java:167)
  at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.Java:563)
  at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.Java:142)
  at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.Java:446)
  at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.Java:392)
  at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.Java:54)
  at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.Java:127)
  at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.Java:126)
  at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.Java:367)
  at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:471)
  at Java.util.concurrent.FutureTask.run(FutureTask.Java:262)
  at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
  at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
  at Java.lang.Thread.run(Thread.Java:745)
  at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.Java:55)
Caused by: Java.sql.SQLFeatureNotSupportedException: Method org.postgresql.jdbc4.Jdbc4Array.free() is not yet implemented.
  at org.postgresql.Driver.notImplemented(Driver.Java:727)
  at org.postgresql.jdbc4.Jdbc4Array.free(Jdbc4Array.Java:57)
  at org.jetbrains.jdba.jdbc.JdbcValueGetters$AbstractArrayGetter.getValue(JdbcValueGetters.Java:473)
  at org.jetbrains.jdba.jdbc.JdbcRowFetchers$TupleFetcher.fetchRow(JdbcRowFetchers.Java:163)
  at org.jetbrains.jdba.jdbc.JdbcRowFetchers$TupleFetcher.fetchRow(JdbcRowFetchers.Java:145)
  at org.jetbrains.jdba.jdbc.JdbcRowsCollectors$ListCollector.collectRows(JdbcRowsCollectors.Java:211)
  at org.jetbrains.jdba.jdbc.JdbcRowsCollectors$ListCollector.collectRows(JdbcRowsCollectors.Java:198)
  at org.jetbrains.jdba.jdbc.JdbcIntermediateCursor.fetch(JdbcIntermediateCursor.Java:245)
  at com.intellij.database.remote.jdba.impl.RemoteCursorImpl.fetch(RemoteCursorImpl.Java:31)
  at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
  at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
  at Java.lang.reflect.Method.invoke(Method.Java:606)
  at Sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.Java:322)
  at Sun.rmi.transport.Transport$2.run(Transport.Java:202)
  at Sun.rmi.transport.Transport$2.run(Transport.Java:199)
  at Java.security.AccessController.doPrivileged(Native Method)
  at Sun.rmi.transport.Transport.serviceCall(Transport.Java:198)
  at Sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.Java:567)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.Java:828)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.Java:619)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.Java:684)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.Java:681)
  at Java.security.AccessController.doPrivileged(Native Method)
  at Sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.Java:681)
  at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
  at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
  at Java.lang.Thread.run(Thread.Java:745)

ただし、コンソールからクエリを実行すると、取得したデータは正しいものになります。 pgAdminを使用しても問題がないため、ここで何が失敗しているのかよくわかりません。

これは他の誰かに起こりましたか?

41
Imanol

0xDBEが使用していたJDBCドライバーを再ダウンロードすることで問題を解決しました。データソースを右クリックし、設定に移動して、現在使用されているドライバーファイルを消去し、再度ダウンロードします。

JDBC filesDownload JDBC files

変更を有効にするには、ドライバーを再ダウンロードした後、IDEを再起動する必要があります。

81
Diego Allen

この問題は、データソース設定ページ(DB資格情報を入力するページ)を開き、タブOptionsに切り替えて、Introspect using JDBC metadataを有効にすることで修正できました。

enter image description here

13
Kai Sellgren