更新时间:2024-05-07 GMT+08:00

psycopg2.connect()

功能描述

此方法创建新的数据库会话并返回新的connection对象。

原型

import os
conn=psycopg2.connect(dbname="test",user=os.getenv('user'),password=os.getenv('password'),host="127.0.0.1",port="5432")

参数

表1 psycopg2.connect参数

关键字

参数说明

dbname

数据库名称

user

用户名

password

密码

host

数据库IP地址,可指定多IP,IP间以逗号隔开,默认为UNIX socket类型。

port

连接端口号,默认为5432。host为多IP时,如端口号相同,指定一个端口号;否则,端口号与IP一一对应,以逗号隔开。

sslmode

ssl模式,ssl连接时用。

sslcert

客户端证书路径,ssl连接时用。

sslkey

客户端密钥路径,ssl连接时用。

sslrootcert

根证书路径,ssl连接时用。

hostaddr

数据库IP地址。

connect_timeout

客户端连接超时时间。

client_encoding

客户端编码格式。

application_name

application_name的参数值。

fallback_application_name

application_name参数的回退值。

keepalives

控制是否客户端TCP保持连接,默认为1,表示打开;值为0,表示关闭。若UNIX域套接字连接,则忽略。

options

连接开始时发送给服务器的命令行选项。

keepalives_idle

控制向服务器发送keepalive消息之前不活动的描述,若keepalive被禁用,则忽略此参数。

keepalives_interval

控制未得到服务器确认的keepalive消息应重新传输的描述,若keepalive被禁用,则忽略此参数。

keepalives_count

控制客户端与服务端连接断开之前可能丢失的tcp保持连接的数量。

replication

确认连接使用的是复制协议而不是普通协议。

requiressl

支持sslmode设置。

sslcompression

ssl压缩。设置为1,则通过ssl连接发送的数据将被压缩;设置为0,则禁用压缩。若没有建立ssl的连接,则忽略此参数。

sslcrl

证书吊销列表文件路径,验证ssl服务端证书是否可用。

requirepeer

指定服务器的操作系统用户名。

target_session_attrs

设定连接的主机的类型。主机的类型和设定的值一致时才能连接成功。指定多IP时才会校验此参数。target_session_attrs的设置规则如下:

  • any:可以对所有类型的主机进行连接。
  • read-write:当连接的主机允许可读可写时,才进行连接。
  • read-only:仅对可读的主机进行连接。
  • primary(默认值):仅对主备系统中的主机能进行连接。
  • standby: 仅对主备系统中的备机进行连接。
  • prefer-standby:首先尝试找到一个备机进行连接。如果对hosts列表的所有机器都连接失败,那么尝试“any”模式进行连接。

返回值

connection对象(连接数据库实例的对象)。

示例

请参见示例:常用操作