PostgreSQ 连接问题 FATAL: no pg_hba.conf entry for host

PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,会报一些如下的异常:

org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host

 

要解决这个问题,只需要在PostgreSQL数据库的安装目录下找到/data/pg_hba.conf,找到“# IPv4 local connections:”

在其下加上请求连接的机器IP

host all all 127.0.0.1/32 md5

32是子网掩码的网段;md5是密码验证方法,可以改(见文件pg_hba.conf上的说明)...



java连接数据库代码

package org.zj.dbconn;
import java.sql.*;
public class DBConnPostgres {
	
	public static final String DBDRIVER="org.postgresql.Driver";
	public static final String DBURL="jdbc:postgresql://localhost:5432/user";
	public static final String DBUSER="postgres";
	public static final String DBPASS="zhangjin";
	
	public static void main(String []args){
		
		Connection con=null;
		try {
			Class.forName(DBDRIVER);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		try {
		    con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
		    String sql="select * from t_user";
			PreparedStatement ps= con.prepareStatement(sql);
			ResultSet rs=ps.executeQuery();
			while(rs.next()){
				System.out.println(rs.getInt(1));
			}
			ps.close();
		
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	   
		
	}

}


你可能感兴趣的:(postgres)