问题描述
我正在从 k8s 转发我的 5432
端口,如果我通过 psql
连接,一切正常:
psql "postgres://myuser:mypass@localhost:5432/mydb"
甚至使用 .pgpass
psql -U myuser -h localhost -p 5432 -d mydb
但是当我尝试通过 JDBC 进行连接时:
import java.sql.Connection;
import java.sql.DriverManager;
public class V9
{
public static final String driver = "org.postgresql.Driver";
public static final String url = "jdbc:postgresql://localhost:5432/mydb";
public static final String username = "myuser";
public static final String password = "mypass";
public static void main(String [] args)
{
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,username,password);
System.out.println(conn.getMetaData().getDatabaseProductName());
}
catch (Exception e)
{
e.printstacktrace();
}
}
}
失败了:
java -cp "./postgresql-42.2.18.jar" foo.java
org.postgresql.util.PsqlException: FATAL: password authentication Failed for user "myuser"
...
结束我什至没有收到
Handling connection for 5432
在kubectl port-forward
。
当它是在 docker 中运行的数据库时(从那里进行端口转发),一切正常。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)