第一次使用jdbc连接postgre数据库碰到的问题及解决方法

本文主要讲述在Windows系统下使用图形工具安装PostgreSQL数据库并建库,连接正常,但使用JDBC连接时出现问题。先是因启动服务缺少 -i 参数只能本地连接,通过重新注册服务或修改配置文件解决;后又因pg_hba.conf缺少客户端IP条目,添加后成功连接。
部署运行你感兴趣的模型镜像

1 安装postgre数据一切按照默认的来.用windows下的图形工具建好库,连接也正常

2 用jdbc连接时出现问题.

Connection refused. Check that the hostname and port are correct and that the postmaster

is accepting TCP/IP connections.


上网查这个错误发现是因为启动postgres服务时没有加 -i的参数.一看windows的默认安装的启动服务中果然没有这个参数。没有这个参数数据

库只能接受本地的连接。试图修改这个服务的属性直接加个参数-i,没有成功.只好重新注册一个服务了:
pg_ctl register -N "postgre-server" -U postgres -P testpwd -o -i  -D "c:/...../data"
后来才知道把postgresql.conf 中的listen_addresses的设置改一下也可以,不过我没是过。
listen_addresses='*'
还有-d声明的是数据文件路径,这个其实也可以通过设置系统环境变量PGDATA来声明。

重新启动服务,再用jdbc连数据库
Connection rejected: FATAL: no pg_hba.conf entry for host "10.1.22.77", user "postgres", database "JMINNET", SSL off.
10.1.22.77就是客户端的ip,看来要在 pg_hba.conf 要加10.1.22.77条目。
pg_hba.conf中有一个127.0.0.1的条目,把他复制一遍,将127.0.0.1改成10.1.22.77.
再次重新启动服务,用jdbc连接数据库,成功!

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

以下是使用 Navicat 连接 PostgreSQL 数据库的详细步骤: ### 步骤 1:打开 Navicat 启动 Navicat 软件,在主界面中,找到并点击“连接”菜单,然后选择“PostgreSQL”。 ### 步骤 2:配置连接信息 在弹出的“连接属性”窗口中,需要配置以下信息: - **常规**: - **连接名**:为本次连接设置一个便于识别的名称,例如“PostgreSQL_Test”。 - **主机**:输入 PostgreSQL 数据库所在的服务器地址。如果是本地数据库,通常为“localhost”或“127.0.0.1”。 - **端口**:默认情况下,PostgreSQL 使用 5432 端口。如果有修改,请输入实际使用的端口号。 - **用户名**:输入用于连接数据库的用户名。 - **密码**:输入该用户对应的密码。 - **高级**(可选): - 可以根据需要设置字符集、SSL 等高级选项。一般情况下,使用默认设置即可。 ### 步骤 3:测试连接 配置完连接信息后,点击“测试连接”按钮。如果连接成功,会弹出提示框显示“连接成功”;如果连接失败,会显示相应的错误信息,需要根据错误信息检查配置是否正确。 ### 步骤 4:保存连接 测试连接成功后,点击“确定”按钮,保存该连接配置。此时,在 Navicat 的左侧导航栏中会显示新添加的连接名称。 ### 步骤 5:打开连接 双击左侧导航栏中的连接名称,即可打开与 PostgreSQL 数据库连接。成功连接后,就可以在 Navicat 中对数据库进行各种操作,如创建表、查询数据等。 以下是一个简单的 Python 示例代码,用于使用 `psycopg2` 库连接 PostgreSQL 数据库: ```python import psycopg2 try: # 建立数据库连接 connection = psycopg2.connect( host="localhost", port="5432", database="your_database_name", user="your_username", password="your_password" ) # 创建游标对象 cursor = connection.cursor() # 执行 SQL 查询 cursor.execute("SELECT version();") # 获取查询结果 record = cursor.fetchone() print("You are connected to - ", record) except (Exception, psycopg2.Error) as error: print("Error while connecting to PostgreSQL", error) finally: # 关闭游标和数据库连接 if connection: cursor.close() connection.close() print("PostgreSQL connection is closed") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值