
# 以非加密方式连接
 #### 使用dsn参数的连接方式
调用psycopg2.connect(dsn)创建数据库连接，步骤如下：
1. 导入psycopg2和os模块。 
   ```
   import psycopg2
   import os
   ```
   
   
2. 指定用户名和密码。建议在环境变量中存放用户名和密码，因为直接写到代码中有安全风险。 
   ```
   userName = os.getenv('EXAMPLE_USERNAME_ENV')
   passWord = os.getenv('EXAMPLE_PASSWORD_ENV')
   ```
   
   
3. 指定host和port。建议在环境变量中存放host和port。 
   ```
   host= os.getenv('EXAMPLE_HOST_ENV')
   port= os.getenv('EXAMPLE_PORT_ENV')
   ```
   
   
4. 调用psycopg2.connect(dsn)创建数据库连接。 
   - 非透明多写特性下，用户需要指定数据库名称、服务器地址以及端口号。
     ```
     conn = psycopg2.connect(f"dbname=database user={userName} password={passWord} host={host} port={port}")
     ```
     
   
   
   
   
 
 #### 使用\*\*kwargs的连接方式
调用psycopg2.connect(\*\*kwargs)创建数据库连接，步骤如下：
1. 导入psycopg2和os模块。 
   ```
   import psycopg2
   import os
   ```
   
   
2. 指定用户名和密码。建议在环境变量中存放用户名和密码，因为直接写到代码中有安全风险。 
   ```
   userName = os.getenv('EXAMPLE_USERNAME_ENV')
   passWord = os.getenv('EXAMPLE_PASSWORD_ENV')
   ```
   
   
3. 指定host和port。建议在环境变量中存放host和port。 
   ```
   host = os.getenv('EXAMPLE_HOST_ENV')
   port = os.getenv('EXAMPLE_PORT_ENV')
   ```
   
   
4. 调用psycopg2.connect(\*\*kwargs)创建数据库连接。 
   - 非透明多写特性下，用户需要指定数据库名称、服务器地址以及端口号。
     ```
     conn = psycopg2.connect(dbname="database", user=userName, password=passWord, host=host, port=port)
     ```
     
   
   
   
   
 
