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

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

本文介绍了创建与 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内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!

您可能有感兴趣的文章
Python操作PostgreSQL数据库的基本方法(增删改查)

Python操作PostgreSql数据库的方法(基本的增删改查)

Python模块psycopg2连接postgresql的如何实现

Python如何使用PyGreSQL操作PostgreSQL数据库好代码教程

Python读取postgresql数据库详情