参考文档:PostgreSQL 8.1 中文文档
http://doc.zzbaike.com/postgresql/8-1/pgsqldoc-cvs/index.html#AEN4
安装版本:
PostgreSQL8.4.14
phpPgAdmin
终端执行shell
liwei@liwei-desktop:~$ psql psql: ????: ?? "liwei" Ident ???? 当用户是liwei,会报错,因为postgres的服务是由用户postgres,只有先切换到该用户才不报错 liwei@liwei-desktop:~$ su - postgres 密码: postgres@liwei-desktop:~$ psql psql (8.4.14) 输入 "help" 来获取帮助信息. postgres=# postgres=# select version(); version -------------------------------------------------------------------------------------------------------------- PostgreSQL 8.4.14 on i486-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3, 32-bit (1 行记录) 执行psql后的用户交互后,可以类似mysql的交互界面,通过帮助执行命令
创建用户
postgres@liwei-desktop:~$ createuser test2 postgres@liwei-desktop:~$ createuser test2 新的角色是否是超级用户? (y/n) n 新的角色允许创建数据库吗? (y/n) y 新角色允许创建其它新的角色吗? (y/n) y #创建时,默认密码是空的,需修改密码 postgres=# alter ROLE test2 password '123456'; 在phpPgAdmin页面就可以用test2用户登录
创建数据库
#创建数据库: postgres@liwei-desktop:~$ createdb mydb #导入数据 postgres@liwei-desktop:~$ psql mydb psql (8.4.14) 输入 "help" 来获取帮助信息. mydb=# \i dump.sql # dump.sql是下载下的数据库sql文件,里面有一个表(res_partner),是从openerp数据库中导出一个关于客户信息的数据库 #查询数据库 mydb=# SELECT name from res_partner;
python操作PostgreSQL
使用py包:psycopg2 (方法类似于MySQLdb)
参考文档:http://initd.org/psycopg/docs/
import psycopg2 pgdb_conn = psycopg2.connect(database = 'mydb', user = 'test', password = '1234', host = 'localhost') pg_cursor = pgdb_conn.cursor() sql = "SELECT name FROM res_partner" pg_cursor.execute(sql) rs = pg_cursor.fetchall() print rs