Python连接到PostgreSQL数据库的方法详解

 更新时间:2023年10月30日 09:57:10   作者:迹忆客  
顾名思义,PostgreSQL 是一款为高效管理数据库系统而创建的 SQL 系统软件,这篇文章主要为大家详细介绍了创建与 PostgreSQL 上的数据库的连接的过程,需要的小伙伴可以了解下

本文介绍了创建与 PostgreSQL 上的数据库的连接的过程。 我们需要安装 PostgreSQL 和创建数据库等先决条件,如下所述。

在系统中安装 PostgreSQL

顾名思义,PostgreSQL 是一款为高效管理数据库系统而创建的 SQL 系统软件。

在连接Python之前需要创建数据库。 Postgres,实现它。

许多刚开始学习数据库开发的初学者仍然感到困惑。 据了解,数据库是使用 pgAdmin 而不是 PostgreSQL 创建的。

实际上,前者管理数据库,而后者是构建数据库的框架。

在创建数据库之前,pgAdmin 需要与 PostgreSQL 链接。 所以,首先需要安装PostgreSQL。

Postgres的安装包可以在PostgreSQL官网的下载区找到。 然后,用户可以从那里下载并安装该应用程序。

有多种安装程序可用于 Mac、Linux 和 Windows 等操作系统。

用户还可以获取源代码并在其 PC 上手动编译并安装 pgAdmin4。

pgAdmin 是一个用于管理在 PostgreSQL 上运行的数据库的有效工具。 可以在应用程序的在线网页上找到安装程序等可下载文件。

人们可以从 pgAdmin 的所有稳定版本的列表中进行选择,以及与 PostgreSQL 过程类似的其他安装包发行版。

一旦 pgAdmin 安装到系统中,就可以创建数据库。

使用 pgAdmin 创建数据服务器和数据库

本节包含两个小节。 第一部分解释如何创建数据服务器,第二部分重点介绍数据库。

在 pgAdmin 中创建数据服务器

在创建任何数据库之前,需要正确设置 pgAdmin。 系统会提示您输入主密码,该密码将在创建或访问新数据库时使用。

提供密码后将出现 pgAdmin 网页。 必须搭建新的服务器来生成新的数据库。

添加新服务器按钮会创建一个对话窗口,可以在其中构建新服务器。

首先显示的窗口提供了正在设置的服务器的功能。 在本文中,其中一些将由用户输入提供,而其他一些则由系统生成并保持原样。

首先,需要服务器的名称。 之后,转到连接菜单。

那里需要主机名,通常是 localhost。 端口必须设置为 5432。

遵循以上几点就足以创建一个有用的数据服务器。

在 pgAdmin 中创建数据库

一旦数据服务器启动并运行,就可以创建数据库。 创建的服务器显示在应用程序窗口的左侧,称为仪表板。

左侧面板中服务器名称旁边有一个下拉图标。 单击此图标时会弹出密码对话框,请求系统的主密码。

菜单显示系统内创建的所有服务器。 它保持停用状态,直到通过单击并出现密码提示将其激活。

右键单击数据库区域并选择创建。 为数据库命名,然后在所有者部分选择 postgres; 然后,必须设置数据库定义。

数据库的定义有多个选项需要设置。 以下是众多可用选项中的一些更重要的选项。

  • 编码必须设置为 - UTF - 8。
  • 模板应在 Postgres 中设置。
  • 表空间应设置为 pg_default。

排序规则和字符类型应按原样设置,而连接限制设置为-1。 转到标有 sql 的菜单将给出此处使用的查询的概述。

单击“保存”将创建一个数据库。

将 PostgreSQL 数据库连接到 Python 的步骤

使用 Python 连接到数据库分为三个步骤。 首先,服务器的信息存储在配置文件中。

将创建一个 Python 文件,用于解析配置 (.ini) 文件并在下一步中加载服务器。 在最后一步中,创建一个连接数据库的 Python 文件。

在本文中,程序使用 psycopg2 导入包连接到 PostgreSQL 数据库,获取数据库版本,然后打印它们。

创建存储服务器信息的配置 (.ini) 文件

该文件存储与服务器相关的详细信息,有助于 config.py 文件配置数据库。 文件头位于文件的顶部,用于声明所使用的 RDBMS。

  • host - 此处提供所使用的主机或服务器。
  • database - 此处给出了需要针对的特定数据库。
  • user - 用户应指定为 postgres,因为它是 RDBMS。
  • password - 必须在此处输入创建数据库时在 pgAdmin 中给出的主密码。

创建信息文件后,可以在配置文件中使用它。

创建解析配置文件的 Python 文件

该程序使用导入包configparser。 方法配置使用两个参数声明:文件名和部分。

变量解析器被初始化,从变量文件名中读取文件。

下面是从数据库中提取项目的 get 方法。 get 部分放在 if-else 语句内,其中 else 方法处理异常。

最后返回变量数据库。

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

连接 PostgreSQL 数据库的步骤

该程序有两个导入文件。

  • psycopg2
  • config

创建了一个连接到 PostgreSQL 数据库服务器的方法 connect。

声明了一个变量 param,用于读取连接的参数。 这些参数用于连接到数据库服务器。

语法 psycopg2.connect(**params) 加载连接参数并连接到数据库服务器。 声明了另一个变量 var_cur,用于存储由 connection.cursor 语法创建的游标。

连接建立后,将显示数据库的 PostgreSQL 版本。 var_cur.execute 执行语句 SELECT version()

该版本被加载到变量 version_of_database 中,然后由 fetchone() 函数显示,该函数一次获取单个元素。 然后打印该变量。

获取数据库版本后,使用 var_cur.close() 关闭游标。

添加异常处理块以引发错误异常。 在 except 块内,当无法连接到数据库或未找到数据库时,程序会打印一条错误消息。

在异常处理结束时,添加一个finally 块,使用语法 connection.close() 关闭连接。 连接关闭后,数据库会打印一条消息,确认连接已关闭。

最后调用方法connection。

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()

输出:

总结

本文讨论数据库创建并解释如何在 PostgreSQL 中创建数据库。 软件工具 pgAdmin 的不同功能。

大家将详细学习如何使用 Python 连接数据库,以便快速掌握并在实际项目中使用。

到此这篇关于Python连接到PostgreSQL数据库的方法详解的文章就介绍到这了,更多相关Python连接PostgreSQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pycharm如何使用服务器跑代码

    pycharm如何使用服务器跑代码

    描述了如何配置SFTP服务器和SSH解释器,并配置本地代码项目文件地址对应到服务器上的位置,实现代码的实时上传
    2026-02-02
  • pyinstaller打包路径的总结

    pyinstaller打包路径的总结

    本文主要介绍了pyinstaller打包路径的总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • python3中join和格式化的用法小结

    python3中join和格式化的用法小结

    这篇文章主要介绍了python中os库的使用,本篇文章记录下python中os库的一些函数使用,对python os库使用感兴趣的朋友跟随小编一起看看吧
    2022-10-10
  • pyCaret效率倍增开源低代码的python机器学习工具

    pyCaret效率倍增开源低代码的python机器学习工具

    这篇文章主要介绍了pyCaret一款可以使效率倍增的开源低代码的python机器学习工具,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Matplotlib绘图基础之图例详解

    Matplotlib绘图基础之图例详解

    Matplotlib 中的图例是帮助观察者理解图像数据的重要工具,通常包含在图像中,用于解释不同的颜色、形状、标签和其他元素,下面我们就来看看在绘图时如何灵活运用图例吧
    2023-08-08
  • Python中操作Redis的常用方法小结

    Python中操作Redis的常用方法小结

    这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下
    2025-02-02
  • 打开电脑上的QQ的python代码

    打开电脑上的QQ的python代码

    使用python打开电脑上的QQ,方法很简单,调用os模块,然后os.startfile即可
    2013-02-02
  • pandas数据拼接的实现示例

    pandas数据拼接的实现示例

    这篇文章主要介绍了pandas数据拼接的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python实现钉钉发送报警消息的方法

    Python实现钉钉发送报警消息的方法

    今天小编就为大家分享一篇Python实现钉钉发送报警消息的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 在Python中表示一个对象的方法

    在Python中表示一个对象的方法

    这篇文章主要介绍了在Python中表示一个对象的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06

最新评论