使用 JDBC 连接到 PostgreSql 的本地实例

2024-05-14

我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例。当我使用psql来自 shell 的命令我成功登录,没有任何问题。我需要通过 JDBC 连接到 PostgreSql,但我不知道我到底应该传递什么url参数为DriverManager.getConnection().

它应该开始于jdbc:postgresql:但接下来会发生什么?

系统组告诉我,创建了一个类似于用户名的数据库。例如如果我的用户是jutky一个名为jutky已创建,但是当我尝试打开到的连接时jdbc:postgresql:jutky我收到一个错误

org.postgresql.util.PSQLException: FATAL: password authentication failed for user "jutky" :(

附加信息

当我通过以下方式登录时psql系统不会提示我输入密码,因此当我尝试通过 JDBC 登录时,我传递一个空字符串作为密码 - 它是否正确,或者我应该传递null或者其他的东西?

当我打字时psql --help在 shell 中我看到了这一行:

Connection options:
   -h, --host=HOSTNAME      database server host or socket directory (default: "/var/run/postgresql")

所以我知道我通过一个连接到 PostgreSqlsocket directory,这对 JDBC 中的 URL 字符串有影响吗?


EDIT

首先感谢各位的解答。

第二:这不是我第一次使用 JDBC,特别是不是第一次从 JDBC 连接到 PostgreSql,所以我知道一般规则并且我已经阅读了文档。但是,在所描述的情况下,如果实例通过以下方式运行,我不确定应该如何准确构造连接字符串socket directory我应该提供什么密码。因为当我通过psql根本没有提示我输入密码。

提前致谢。


除了其他答案之外,请注意默认情况下 Postgres 配置为接受通过 Unix 套接字的连接,并根据您的操作系统帐户进行​​身份验证,这就是为什么psql工作正常并且不需要密码。

JDBC 连接是通过 TCP/IP 进行的,需要密码验证,因此您需要修改pg_hba.conf因此。例如,此行允许使用密码身份验证的所有用户从同一台计算机到所有数据库的 TCP/IP 连接:

host    all         all         127.0.0.1/32          md5

添加此行后jdbc:postgresql:databasename应该管用。

EDIT:您无法通过 Unix 套接字创建 JDBC 连接,因为 PostgreSQL JDBC 驱动程序只能通过 TCP/IP 工作。创建 JDBC 连接时使用的密码是分配给您的用户的密码。如果没有,您可以分配它,例如使用ALTER USER命令。看19.3。认证方式 http://www.postgresql.org/docs/8.4/static/auth-methods.html#AUTH-PASSWORD.

也可以看看:

  • 19.1。 pg_hba.conf 文件 http://www.postgresql.org/docs/8.4/static/auth-pg-hba-conf.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JDBC 连接到 PostgreSql 的本地实例 的相关文章

  • 如何将列表转换为地图?

    最近我和一位同事讨论了转换的最佳方式是什么List to Map在 Java 中 这样做是否有任何具体的好处 我想知道最佳的转换方法 如果有人可以指导我 我将非常感激 这是个好方法吗 List
  • Java,将 null 分配给对象和仅声明之间有什么区别

    之间有什么区别 Object o null and Object o 仅声明 有人可以回答我吗 这取决于您声明变量的范围 例如 局部变量没有default values在这种情况下你将不得不分配null手动 在这种情况下实例变量分配 nul
  • 使用 java 的 RAR 档案 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Java 9 中可以使用提前编译吗?

    As per JEP 295 http openjdk java net jeps 295 任何 JDK 模块 类或用户代码的 AOT 编译都是实验性的 JDK 9 中不支持 要使用 AOT 化的 java base 模块 用户必须编译该模
  • JPA:如何将字符串持久保存到数据库字段中,输入 MYSQL Text

    需求是用户可以写文章 所以我选择typeText为了contentmysql数据库内的字段 我怎样才能转换Java String into MySQL Text 干得好Jim Tough Entity public class Articl
  • 获取TextView的高度

    我有一些文字将被放入TextView 我这样做是使用setText 现在我需要找到文本在文本中占据的行数或高度TextView 我尝试使用getHeight 但它总是返回 0 无论如何 有没有办法获得文本中存在的文本的高度TextView
  • DateTimeFormatter.parseLocalDate 抛出 UnsupportedOperationException

    该API用于解析本地日期 http joda time sourceforge net apidocs org joda time format DateTimeFormatter html parseLocalDate 28java la
  • Jodatime 日期格式

    是否可以格式化 JodaTime 日期 这是代码 private static LocalDate priorDay LocalDate date1 do date1 date1 plusDays 1 while date1 getDayO
  • 总结二维数组

    鉴于我当前的程序 我希望它在用户输入所有值后计算每列和每行的总和 我当前的代码似乎只是将数组的值加倍 这不是我想要做的 例如 如果用户输入具有以下值 1 2 3 2 3 4 3 4 5 的 3x3 矩阵 则看起来就像我在下面的程序中对其进行
  • 确定代码是否在 App Engine 运行时 (Java) 上运行

    如何确定某些代码 Serv let 或简单的类 是否正在 Google App Engine 运行时 Java 上运行 以便决定是否使用 App Engine 的特定库 是否有一些可靠的运行时环境 ID 您可以检查com google ap
  • 多对多不检索映射数据

    Spring boot 2 5 6 我无法安装版本 概要文件 java Getter Setter NoArgsConstructor AllArgsConstructor EqualsAndHashCode FieldDefaults l
  • 在Spring-Boot中,我们如何在同一个项目中连接两个数据库(Mysql数据库和MongoDB)?

    我正在尝试创建一个 Spring Boot 项目 其中我有一个要求 我想连接到不同的数据库 MySql 和 MongoDB 我是否需要做一些特殊的事情来连接到这两个数据库 或者 spring boot 会自动计算出自己连接到这两个数据库 我
  • 设置 JAVA_HOME 变量时出现问题

    所以我刚刚下载了 Android Studio 并尝试设置 JAVA HOME 变量以便我可以运行它 我使用的是 Windows 8 并按照我找到的所有说明进行操作 但无济于事 转到高级系统设置 gt 环境变量 然后使用包含我的 jre7
  • PostgreSQL 索引创建时间

    我可以使用什么查询来找出数据库中创建特定索引 唯一或非唯一 的时间 日期 基本上我想找出过去一个月左右创建的索引 这不可能 没有关于创建关系 索引等的时间的信息
  • 链表中的虚拟节点

    问 什么时候使用它们 作业问题 列表中的第一个和最后一个节点 有时用作列表中的第一个和最后一个节点 从未用作列表中的第一个和最后一个节点 维基百科说 哨兵节点是与链接一起使用的专门指定的节点 列表和树作为遍历路径终止符 哨兵节点的作用是 不
  • Microsoft JDBC 中的 JTDS 属性相当于什么?

    我正在将 JTDS 连接更改为 Microsoft JDBC 并且我看到存在于http jtds sourceforge net faq html http jtds sourceforge net faq htmlMicrosoft JD
  • Drools:为什么是无状态会话?

    Drools 使用会话来存储运行时数据 为此 有两种会话 无状态和有状态 与无状态会话相比 有状态会话允许迭代调用 并且似乎比无状态会话具有所有优势 那么为什么会有无状态会话呢 他们服务的目的是什么 与有状态会话相比 它们的优势是什么 谢谢
  • JSP 和 scriptlet

    我知道现在使用 scriptlet 被认为是禁忌 没关系 我会同意Top Star的话 因为我目前只是Java新手 到目前为止我听到的是 它是为了让设计师的生活更轻松 但我想知道 这是否与JSP页面的性能有关 另一方面 如果只是为了 让设计
  • 将带有时区的 Joda-Time `DateTime` 转换为没有时区的 DateTime?

    Given a DateTime http www joda org joda time apidocs org joda time DateTime html例如2015 07 09T05 10 00 02 00 using 乔达时间 h
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet

随机推荐

  • 如何避免这两个 SQL 语句之间出现死锁?

    我有两个存储过程在单独的线程中运行 在 SQL Server 2005 上运行 一个过程将新行插入到一组表中 另一个过程从同一组表中删除旧数据 这些过程在表上遇到了死锁DLevel and Model 这是架构 source barrams
  • URL 中的 %2C 是什么?

    在 URL 中 什么是 2C编码的含义及其用途是什么 查看http www asciitable com http www asciitable com 看着那 这Hx 十六进制 列 2C映射到 任何不寻常的编码都可以通过这种方式检查 Hx
  • 在 Android 中加密/解密字符串的简单方法

    我的问题是如何加密String String AndroidId Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta
  • 由于 Azure ADB2C,Blazor 服务器 SignalR 集线器在 StartAsync 上失败

    我创建了一个 Blazor 服务器应用程序 以开始学习 Blazor 和一些更新的技术 我遵循了 Microsoft 提供的集线器聊天教程 事情进展顺利 然后我添加了一些基本的 cookie 身份验证 事情仍然在进展中 然后 我按照 Car
  • 是否有用户友好的 Log4Net 日志文件查看器? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有任何第三方工具可以识别 Log4Net 日志文件结构并通过提供搜索功能等以用户友好的方式显示它 Try 色域日志查看器 https source
  • FragmentActivity 无法解析为类型

    我正在尝试来自的应用程序这个博客 http android developers blogspot com 2011 02 android 30 fragments api html 在延长的同时FragmentActivity 我收到以下
  • 我应该何时何地使用 WCF

    我浏览了几个在线教程 其中涵盖了 WCF 的优点 如何构建服务 客户端等 不过 我想了解一点整体情况 问题 gt 什么样的应用程序或应用程序中的哪些功能要求我使用 WCF 功能 一个具体的例子应该可以更好地帮助我 有几种情况 需要 WCF
  • 我需要一个 jQuery Autocomplete 使用 ajax 返回 id 和 name 的示例

    我需要一个示例 说明如何编写 jQuery 自动完成代码来填充product id 同时显示调用ajax 页面 remote php 的product name
  • 在 Angular 中深度复制对象

    AngularJS 有angular copy 深度复制对象和数组 Angular 也有类似的东西吗 您还可以使用 JSON parse JSON stringify Object 如果它在你的范围内 那么它就存在于每个 Angular 组
  • 使用 stargazer 分析包含时间序列的数据帧

    我有一个面板数据集共 10 个观测值和 3 个变量 观测值 30 的数量 10 行 国家 地区 2 列 迁移参数 相应年份的 1 列 可以这么说 我的数据框由 3 个年度数据框组成 我该如何申请观星者考虑到它是一个面板数据集 所以最大 N
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • Node.js 中没有请求状态 Morgan Logging

    我正在 Azure VM 上运行 node js 应用程序 使用 PM2 处理负载平衡和重新启动 这是服务器设置和日志记录代码 var logger require morgan var app express app set views
  • Rails 4 i18n,如何转换子域用于区域设置的路由

    我正在使用子域来确定 Rails 4 网站中的区域设置 我完全按照我想要的方式使用区域设置切换器 但现在我需要翻译路线 并且我不确定继续的最佳方法 我看过https github com kwi i18n routing https git
  • 如何打开实际上已关闭的 Wifi 适配器的无线电?

    我在用着托管无线网络 http managedwifi codeplex com获取我的 Wifi 适配器的无线电状态 如果收音机实际上已关闭 如何将其打开 像这样的东西 WlanClient wlanClient new WlanClie
  • 如何让Jmeter识别“localhost”URL?

    如何对只能由我的计算机访问的 localhost url 进行性能测试 我可以使用 jmeter 对 google 等实时网站进行性能测试 但 jmeter 无法检测本地 url 应用程序的 URL 192 168 121 20 80012
  • 部署项目 dll 导致“两者都存在类型 x”错误

    我有一个 Web 应用程序项目 一个业务逻辑项目和一个用于 Web 应用程序的 Web 部署项目 当我构建解决方案时 部署 Release bin 包含每个项目的 1 个 dll 因此我为 MyWeb dll MyWebBusiness d
  • 模板类的静态变量在不同翻译单元中的显式实例化

    我正在使用包含静态变量的模板类 代码结构如下 Header h template
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • 检索用户故事和相关的测试用例

    我正在使用 Rally excel 插件并尝试检索用户故事和相关的测试用例 我在报告 用户故事 中添加了附加列来检索 TestCase Name 并尝试了 TestCase FormattedID 在这两种情况下我都会收到空列 我究竟做错了
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv