参考文档: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