Oracle SQL开发人员和PostgreSQL

Oracle SQL开发人员和PostgreSQL,postgresql,oracle-sqldeveloper,Postgresql,Oracle Sqldeveloper,我正在尝试使用Oracle SQL Developer 3.0.04连接到PostgreSQL 9.1数据库,但到目前为止还没有成功 首先,如果我在首选项上添加了第三方驱动程序,那么在添加新连接时,PostgreSQL没有选项卡(尽管它对MySQL很有效)。我使用的是JDBC4 9.1版驱动程序,但我尝试了相同版本的JDBC3,但仍然得到了相同的结果 第二,在添加新连接时,没有什么比手动配置选项卡更好的了。最接近的是Oracle选项卡上的Advanced选项,我可以在其中提供自定义URL,但它失

我正在尝试使用Oracle SQL Developer 3.0.04连接到PostgreSQL 9.1数据库,但到目前为止还没有成功

首先,如果我在首选项上添加了第三方驱动程序,那么在添加新连接时,PostgreSQL没有选项卡(尽管它对MySQL很有效)。我使用的是JDBC4 9.1版驱动程序,但我尝试了相同版本的JDBC3,但仍然得到了相同的结果

第二,在添加新连接时,没有什么比手动配置选项卡更好的了。最接近的是Oracle选项卡上的Advanced选项,我可以在其中提供自定义URL,但它失败了,因为它抱怨所选的驱动程序(当然)

最后,我从一个XML文件(下面的内容)导入了一个连接,但它只显示我的模式,而不显示其中的表

所以,我的问题是:OrableSQLDeveloper是否支持PostgreSQL连接?是否有其他方法可以在ObjectViewer中显示我的表格

<?xml version = '1.0' encoding = 'UTF-8'?>
<References xmlns="http://xmlns.oracle.com/adf/jndi">
    <Reference name="Lumea" className="oracle.jdeveloper.db.adapter.DatabaseProvider" credentialStoreKey="Lumea" xmlns="">
        <Factory className="oracle.jdeveloper.db.adapter.DatabaseProviderFactory"/>
        <RefAddresses>
            <StringRefAddr addrType="user">
                <Contents>lumea</Contents>
            </StringRefAddr>
            <StringRefAddr addrType="subtype">
                <Contents>thirdParty</Contents>
            </StringRefAddr>
            <StringRefAddr addrType="customUrl">
                <Contents>jdbc:postgresql://localhost:5432/versates</Contents>
            </StringRefAddr>
            <StringRefAddr addrType="SavePassword">
                <Contents>true</Contents>
            </StringRefAddr>
            <StringRefAddr addrType="password">
                <Contents>myencryptedpass</Contents>
            </StringRefAddr>
            <StringRefAddr addrType="driver">
                <Contents>org.postgresql.Driver</Contents>
            </StringRefAddr>
            <StringRefAddr addrType="DeployPassword">
                <Contents>true</Contents>
            </StringRefAddr>
        </RefAddresses>
    </Reference>
</References>

卢米亚
第三方
jdbc:postgresql://localhost:5432/versates
真的
我的加密通行证
org.postgresql.Driver
真的

Oracle SQL Developer不支持到PostgreSQL的连接。使用pgAdmin连接到PostgreSQL,您可以从以下URL获得它

我刚刚下载了SQL Developer 4.0 for OS X(10.9),它刚刚推出测试版。我也下载了。我决定安装它(与SQLdev中的其他第三方db驱动程序的方法相同),它接受了。每当我点击“新建连接”,现在就有一个用于Postgres的选项卡。。。单击它会显示一个面板,询问数据库连接详细信息

这个问题的答案已经改变了,无论它是否得到支持,它似乎都是有效的。有一个“选择数据库”按钮,如果点击它,将显示一个下拉列表,其中填充了可用的postgres数据库。创建连接,打开它,它将列出该数据库中的模式。虽然没有psql命令(\list等),但大多数postgres命令似乎都能工作


那些需要一个工具来连接多个数据库引擎的人现在可以使用SQLDeveloper

我通过将我的用户名放入用户名字段(无密码)并单击“选择数据库”,获得了要填充的数据库列表。不能使用空白用户名字段,我只能通过这种方式连接到我的用户数据库


(这是SQL Developer 4.0.0.13、Postgres.app 9.3.0.0和postgresql-9.3-1100.jdbc41.jar,FWIW的版本。)

Oracle SQL Developer 4.0.1.14肯定支持到postgresql的连接

  • 下载Postgres()的JDBC驱动程序
  • 在SQL Developer中,转到
    工具→ 首选项
    数据库→ 第三方JDBC驱动程序
    并添加jar文件(请参阅分步示例)
  • 现在只需建立一个新的
    数据库连接
    ,而不是
    Oracle
    ,选择
    PostgreSQL
    选项卡
编辑

如果您有不同的用户名和数据库名,则应在主机名中指定:
主机名/数据库?
(不要忘记
)或
主机名:端口/数据库?


(感谢@kinkajou和@Kloe2378231;关于的更多详细信息)。

我设法用SQL Developer连接到postgres。 我下载了PostgresJDBC驱动程序并将其保存在一个文件夹中。 我运行sqldeveloper->Tools->Preferences->Search->JDBC 我为数据库和数据建模器定义了PostgresJDBC驱动程序(可选)

这就是诀窍。 创建新连接时,是否定义localhost/crm之类的主机名?其中crm是数据库名称。测试连接,工作正常


但如果您的用户名和数据库名不同,它将不起作用。这听起来像是SQLDeveloper的bug,我找不到任何解决方法


Oracle SQL Developer在连接到postgresql时可能存在一些错误。但是我成功地将postgresql与navicat连接。(我的postgresql用户名和数据库名称不同

如果没有与用户名同名的数据库,则单击“选择数据库”将失败,错误如下状态:失败-致命:数据库“您的用户名”不存在


要解决此问题,请将
5432/database\u name?
放在端口字段中,其中
5432
是Postgres实例的端口,
database\u name
用户名
有权访问的现有数据库的名称。然后单击“选择数据库”“同样,它应该可以工作。现在,您可以选择所需的数据库,并从端口字段中删除额外的
/database\u name?

我认为这个问题需要更新答案,因为PostgreSQL和SQLDeveloper自最初被询问以来都已被更新多次

我在Azure中运行了一个PostgreSQL实例,SSLMODE=Require。 虽然我一直在使用DBeaverCE访问该实例并生成ER图,但我已经非常熟悉SQLDeveloper,它现在是v19.4

有关下载最新PostgreSQL JDBC驱动程序以及将其放置在何处的说明是正确的。但是,更改的是在何处配置DB访问

您将找到一个文件
$HOME/.sqldeveloper/system19.4.0.354.1759/o.jdeveloper.db.connection.19.3.0.354.1759/connections.json

{
  "connections": [
    {
      "name": "connection-name-goes-here",
      "type": "jdbc",
      "info": {
        "customUrl": "jdbc:postgresql://your-postgresql-host:5432/DBNAME?sslmode=require",
        "hostname": "your-postgresql-host",
        "driver": "org.postgresql.Driver",
        "subtype": "SDPostgreSQL",
        "port": "5432",
        "SavePassword": "false",
        "RaptorConnectionType": "SDPostgreSQL",
        "user": "your_admin_user",
        "sslmode": "require"
      }
    }
  ]
}

您可以将此连接与数据建模器和SQLDeveloper的管理功能一起使用。需要在customUrl中指定所有端口、dbname和sslmode,因为SQLDeveloper在通过JDBC发送的内容中不包括sslmode,所以您必须手动构造它。

Oracle SQL Developer 2020-02支持PostgreSQL