Unix domain socket用于同一主机上不同进程间的数据交换,通过添加junixsocket获取套接字工厂使用。
需要引用的jar包有junixsocket-core-XXX.jar、junixsocket-common-XXX.jar、junixsocket-native-common-XXX.jar。同时需要在URL连接串中添加:socketFactory=org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg&socketFactoryArg=[path-to-the-unix-socket]。
示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Properties;
public class Test {
public static void main(String[] args) {
String driver = "org.postgresql.Driver";
Connection conn;
try {
Class.forName(driver).newInstance();
Properties properties = new Properties();
properties.setProperty("user", "username");
properties.setProperty("password", "password");
conn = DriverManager.getConnection("jdbc:postgresql://localhost:8000/postgres?socketFactory=org.newsclub" +
".net.unix" +
".AFUNIXSocketFactory$FactoryArg&socketFactoryArg=/data/tmp/.s.PGSQL.8000",
properties);
System.out.println("Connection Successful!");
Statement statement = conn.createStatement();
statement.executeQuery("select 1");
} catch (Exception e) {
e.printStackTrace();
}
}
}
须知:
- socketFactoryArg参数配置根据真实路径进行配置,与GUC参数unix_socket_directory的值保持一致。
- 连接主机名必须设置为“localhost”。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




