PostgreSQL 安装、配置、入门

1.安装

参考http://blog.csdn.net/kongxx/article/details/48502887
http://blog.csdn.net/frank_good/article/details/46827601
除了在linux上安装postgreSQL,我们还可以安装pgAdmin III ;哎维护数据库。
postgreSQL 体系结构
http://my.oschina.net/liuyuanyuangogo/blog/497367?p={{page}}

2.配置

修改 /var/lib/pgsql/data/postgresql.conf 文件
修改 /var/lib/pgsql/data/pg_hba.conf 文件
pg_hba.conf 客户端认证配置文件
http://blog.csdn.net/liangwenjiecp/article/details/17525585

对于pgAdmin III,我们可以通过插件中的PSQL CONSOLE来进行操作,但是注意句末要加分号。
http://www.php100.com/manual/PostgreSQL8/app-psql.html

3.Python PsyCopg2的使用

下载PsyCopg
http://vdisk.weibo.com/s/Cd8pPaw56Ozys
安装时,出现错误,是由于win7是 64的原因,在安装python(32位)时,如果选择只为当前用户,以上问题是不会出现的,如果选择所有用户,那会出现这个问题。
根据
http://www.cnblogs.com/thinksasa/archive/2013/08/26/3283695.html
问题解决。
安装后出现问题

import psycopg2

出现问题

 from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

http://www.stickpeople.com/projects/python/win-psycopg/
根据提示,应该是安装的psycopg2为非win32版本,发现确实如此,选择了一个上述网站对应版本的win32程序,问题解决,可以通过例程建立表,该表能通过pgAdmin III来确认,确实正确建立该表.

# -*- coding: utf-8 -*-
"""
Created on Wed Mar 09 11:08:16 2016

@author: wangxin2
"""

import psycopg2
# 数据库连接参数
conn = psycopg2.connect(database="X", user="X", password="X", host="X.X.X.X", port="5432")
cur = conn.cursor()
cur.execute("CREATE TABLE ztest(id serial PRIMARY KEY, num integer,data varchar);")
# insert one item
cur.execute("INSERT INTO ztest(num, data)VALUES(%s, %s)", (1, 'aaa'))
cur.execute("INSERT INTO ztest(num, data)VALUES(%s, %s)", (2, 'bbb'))
cur.execute("INSERT INTO ztest(num, data)VALUES(%s, %s)", (3, 'ccc'))

cur.execute("SELECT * FROM ztest;")
rows = cur.fetchall()        # all rows in table
print(rows)
for i in rows:
    print(i)
conn.commit()
cur.close()
conn.close()

p.s. 5432是postgreSQL的默认端口。

转载一些数据库的使用命令
创建数据库

CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8';
进入控制台方法,在postgreSQL的安装目的bin下执行命令: psql 数据库名,
 例: /usr/local/pgsql/bin/psql mydb
指定host、用户名和数据库的话,如:
/usr/local/pgsql/bin/psql -h localhost -U postgres -d test
查看版本: psql --version 或 SELECT version();
查看所有数据库:\l
查看所有数据库(包括详细参数):select * from pg_database;
选择数据库:\c databasename
查看所有表:\dt
查看某个表的结构:\d tablename
退出psql控制台:\q
查看表的索引:
select * from pg_indexes where tablename='log';
导出备份数据库:
pg_dump -h localhost -U postgres databasename > /tmp/databasename.bak.yyyymmdd.sql
导入恢复数据库(sql文件是pg_dump导出的文件就行,可以是整个数据库,也可以只是单个表,也可以只是结构等):
psql -h localhost -U postgres -d databasename < /tmp/databasename.bak.yyyymmdd.sql

导出数据结构,主要是加上参数-s:
pg_dump -U username -W dbname -f /tmp/filename.sql
导出某个表:
pg_dump -h localhost -U postgres -t tablename dbname > test.sql
导出某个表的结构,同样是加参数"-s":
pg_dump -h localhost -U postgres -t tablename -s dbname > test_construct.sql
导出某个表的数据,加参数"-a":
pg_dump -h localhost -U postgres -t tablename -a dbname > test_data.sql
查看序列:select * from information_schema.sequences where sequence_schema = 'public';
查看数据库大小:select pg_size_pretty(pg_database_size('test'));
查看表的大小:select pg_size_pretty(pg_relation_size('test'));

postgresql中文文档
http://www.php100.com/manual/PostgreSQL8/datatype.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值