示例:常用操作
1. import psycopg2
3. # psycopg2常用链接方式
4. 1. conn = psycopg2.connect(dbname="postgres", user="user", password="password", host="localhost", port=port)
5. 2. conn = psycopg2.connect("dbname=postgres user=user password=password host=localhost port=port")
7. # 创建连接对象
8. conn=psycopg2.connect(database="postgres",user="user",password="password",host="localhost",port=port)
9. cur=conn.cursor() #创建指针对象
11. # 创建连接对象(SSl连接)
12. conn = psycopg2.connect(dbname="postgres", user="user", password="password", host="localhost", port=port,
13. sslmode="verify-ca", sslcert="client.crt",sslkey="client.key",sslrootcert="cacert.pem")
14. 注意: 如果sslcert, sslkey,sslrootcert没有填写,默认取当前用户.postgresql目录下对应的client.crt,
15. client.key, root.crt
18. # 创建表
19. cur.execute("CREATE TABLE student(id integer,name varchar,sex varchar);")
21. # 插入数据
22. cur.execute("INSERT INTO student(id,name,sex) VALUES(%s,%s,%s)",(1,'Aspirin','M'))
23. cur.execute("INSERT INTO student(id,name,sex) VALUES(%s,%s,%s)",(2,'Taxol','F'))
24. cur.execute("INSERT INTO student(id,name,sex) VALUES(%s,%s,%s)",(3,'Dixheral','M'))
26. # 获取结果
27. cur.execute('SELECT * FROM student')
28. results=cur.fetchall()
29. print (results)
31. # 关闭连接
32. conn.commit()
33. cur.close()
34. conn.close()
36. # 使用日志
37. import logging
38. import psycopg2
39. from psycopg2.extras import LoggingConnection
41. logging.basicConfig(level=logging.DEBUG) # 日志级别
42. logger = logging.getLogger(__name__)
44. db_settings = {
45. "user": "user",
46. "password": "password",
47. "host": "localhost",
48. "database": "postgres",
49. "port": port
50. }
51. conn = psycopg2.connect(connection_factory=LoggingConnection, **db_settings)
52. conn.initialize(logger)