Python连接PostgreSQL数据库的完整步骤与代码示例
本文详解如何通过pgAdmin配置PostgreSQL服务器与数据库,并结合ConfigParser创建配置文件。随后演示使用psycopg2库在Python中解析配置、建立数据库连接、执行版本查询及安全释放资源的标准流程,助力开发者快速完成环境搭建与数据交互开发。
环境准备与PostgreSQL基础配置
第1步:安装服务端工具并初始化配置
PostgreSQL 是关系型数据库管理系统,pgAdmin 是其配套的 Web 管理客户端。安装前请前往官网下载对应操作系统(Windows / macOS / Linux)的安装包。安装过程中系统会要求设置主密码(Master Password),该密码将用于后续的服务器连接与权限验证。
安装完成后启动 pgAdmin,首次进入时会弹出密码输入框,验证通过后进入管理控制台。
第2步:在pgAdmin中创建数据服务器与数据库
新建连接前需在左侧注册表中添加数据服务器:
- 右键
Servers → Create → Server...打开对话框。 - 填写 Name(服务器别名)。
- 切换至 Connection 标签页,主机名填写
localhost,端口保持默认5432。 - 输入步骤1设置的主密码,点击保存即可激活连接。

服务器激活后,展开节点找到 Databases,右键选择 Create → Database... 创建目标库:
- 所有者(Owner):
postgres - 编码(Encoding):
UTF-8 - 模板(Template):
postgres - 表空间(Tablespace):
pg_default - 排序规则与字符类型保持默认,连接限制设为
-1(不限制)。

完成参数核对后点击 Save,数据库即创建成功。
Python连接脚本开发与配置解析
第3步:创建INI配置文件与参数解析模块
为将敏感信息与应用代码分离,新建 server_info.ini 存储连接凭证:
[postgresql]
host=localhost
port=5432
database=你的数据库名
user=postgres
password=你的主密码
同时编写 config.py 利用内置 configparser 模块读取参数:
from configparser import ConfigParser
def config(filename='server_info.ini', section='postgresql'):
parser = ConfigParser()
parser.read(filename)
database = {}
if parser.has_section(section):
params = parser.items(section)
for param in params:
database[param[0]] = param[1]
else:
raise Exception('Section {0} not found in the {1} file'.format(section, filename))
return database

第4步:编写连接逻辑并执行查询
通过 pip install psycopg2-binary 安装驱动后,新建 connect.py 实现核心交互逻辑:
import psycopg2
from config import config
def connect():
connection = None
try:
params = config()
print('Connection made to the postgresql database')
connection = psycopg2.connect(**params)
var_cur = connection.cursor()
print('Database version is - ')
var_cur.execute('SELECT version()')
version_of_database = var_cur.fetchone()
print(version_of_database)
var_cur.close()
except (Exception, psycopg2.DatabaseError) as error:
print(error)
finally:
if connection is not None:
connection.close()
print('Database connection closed.')
if __name__ == '__main__':
connect()
上述代码执行流程说明:
psycopg2.connect(**params)解包字典传入主机、端口、凭据等参数建立长连接。connection.cursor()获取游标对象,用于发送 SQL 语句。var_cur.execute('SELECT version()')触发查询,fetchone()提取单行结果。- 异常捕获块拦截网络中断或认证失败,
finally确保无论是否报错都会执行connection.close()防止句柄泄漏。
运行验证与安全提示
直接运行 python connect.py,控制台应输出连接成功提示、版本号元组及关闭确认信息:

总结
本文按“环境准备 → 参数分离 → 代码封装 → 异常处理”的顺序,给出了从 pgAdmin 建库到 Python 稳定连接的标准化方案。在实际项目中,建议将 INI 文件纳入版本控制忽略列表,或改用环境变量/密钥管理服务保管密码,以进一步提升安全性。以上就是Python连接PostgreSQL数据库的详细步骤与代码实现,更多关于Python数据库操作与SQL语法优化的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













