PostgreSQL数据库连接教程:Python实战指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Python连接PostgreSQL数据库:开发者完整实战指南

数据库操作是现代软件项目的核心环节。PostgreSQL作为最流行的关系型数据库管理系统之一,以其可靠性、高性能和丰富功能著称。

本文将详细讲解如何在Python中连接PostgreSQL数据库,使用SELECT和DELETE操作数据,并深入介绍psycopg2库的实际应用。同时也会探讨SQLite与PostgreSQL的区别。

PostgreSQL对开发者的核心优势

PostgreSQL深受开发者青睐,主要得益于以下特性:

  • 支持复杂SQL查询和扩展数据类型
  • 高可靠性和数据安全保障
  • 支持事务、索引、触发器和视图
  • 大型项目中的出色可扩展性
  • 开源免费且拥有活跃社区

此外,PostgreSQL还支持JSON数据、数组、自定义数据类型以及众多扩展,使其成为应对各种场景的通用解决方案。

PostgreSQL安装与环境配置

不同操作系统下的安装方法

Windows:从PostgreSQL官网下载安装包,按照安装向导提示操作即可。

Linux(Ubuntu/Debian):

sudo apt update
sudo apt install postgresql postgresql-contrib

macOS:

brew install postgresql

创建数据库和用户

安装完成后,需要创建数据库和用户以便后续操作:

CREATE DATABASE my_database;
CREATE USER my_user WITH PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

数据库访问配置

为确保安全连接,建议:

  • 配置pg_hba.conf文件管理访问权限
  • 为用户设置强密码
  • 远程连接时使用SSL加密
  • 通过防火墙限制网络访问

Python连接PostgreSQL

安装与配置psycopg2

Python操作PostgreSQL最常用的库是psycopg2。通过pip安装:

pip install psycopg2

如果编译遇到问题,可使用二进制版本:

pip install psycopg2-binary

基础数据库连接

import psycopg2

try:
    connection = psycopg2.connect(
        database="my_database",
        user="my_user",
        password="my_password",
        host="localhost",
        port="5432"
    )
    print("连接成功!")
except Exception as e:
    print(f"连接失败:{e}")
finally:
    if connection:
        connection.close()
        print("连接已关闭。")

使用上下文管理器

推荐使用上下文管理器自动管理连接:

import psycopg2

with psycopg2.connect(
    database="my_database",
    user="my_user",
    password="my_password",
    host="localhost",
    port="5432"
) as connection:
    cursor = connection.cursor()
    cursor.execute("SELECT version();")
    version = cursor.fetchone()
    print(f"PostgreSQL版本:{version}")

在PostgreSQL中执行SQL查询

执行SELECT查询


                    

博客

书籍推荐