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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈tensorflow 中的图片读取和裁剪方式

    浅谈tensorflow 中的图片读取和裁剪方式

    这篇文章主要介绍了浅谈tensorflow 中的图片读取和裁剪方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Django学习笔记之ORM基础教程

    Django学习笔记之ORM基础教程

    ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,下面这篇文章主要给大家介绍了关于Django学习笔记之ORM基础教程的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-03-03
  • PyQt5 python 数据库 表格动态增删改详情

    PyQt5 python 数据库 表格动态增删改详情

    这篇文章主要介绍了PyQt5 python 数据库 表格动态增删改详情,首先手动连接数据库与下一个的程序连接数据库是独立的2个部分,下面来看看文章的详细介绍
    2022-01-01
  • python实现自动化上线脚本的示例

    python实现自动化上线脚本的示例

    今天小编就为大家分享一篇python实现自动化上线脚本的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python中的chr()函数与ord()函数解析

    Python中的chr()函数与ord()函数解析

    这篇文章主要介绍了Python中的chr()函数与ord()函数解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python读取Excel数据实现批量生成PPT

    Python读取Excel数据实现批量生成PPT

    我们常常面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而Python在办公自动化方面具有天然优势。本文将利用读取Excel数据并实现批量生成PPT,需要的可以参考一下
    2022-05-05
  • 深入浅析python的第三方库pandas

    深入浅析python的第三方库pandas

    这篇文章主要介绍了python的第三方库pandas的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 利用Python读取微信朋友圈的多种方法总结

    利用Python读取微信朋友圈的多种方法总结

    这篇文章主要给大家介绍了关于如何利用Python读取微信朋友圈的多种方法,对于一个新手来说如果单独的去爬取朋友圈的话,难度会非常大,可以借鉴这篇文章的内容,需要的朋友可以参考下
    2021-08-08
  • python 随机数使用方法,推导以及字符串,双色球小程序实例

    python 随机数使用方法,推导以及字符串,双色球小程序实例

    下面小编就为大家带来一篇python 随机数使用方法,推导以及字符串,双色球小程序实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Python使用Pycharm必备插件推荐(非常好用!)

    Python使用Pycharm必备插件推荐(非常好用!)

    首先我们要知道pycharm是一款非常强大的python集成开发环境,带有一整套python开发工具,这篇文章主要给大家介绍了关于Python使用Pycharm必备插件推荐的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论