www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1,postgresql学习uri推荐

http://www.php100.com/manual/PostgreSQL8/

http://www.php100.com/manual/PostgreSQL8/reference.html

http://www.yiibai.com/html/postgresql/

[Note tips byRuiy,distinguish uri/url,service/server,There has a certain truth chillax!]

 

Friends all stunned ->lithe Ruiy the story;

 

2,PostgreSQL linux distributionV ins、简单sql  Ruiy在此就不多言了,主要是在linux平台下 OSUser与PostgreSQL的用户间对等映射关系;

3,PostgreSQL C/C++API简单实践之API简单熟悉介绍

postgresql C/C++ API主要使用libpq* lib;

image

libpqxx 库下载uri

http://pqxx.org/download/software/libpqxx/

wget http://pqxx.org/download/software/libpqxx/libpqxx-4.0.tar.gz

3.01安装libpqxx lib

tar libpqxx-4.0.tar.gz && cd libpqxx-4.0;

./configure && make && make install;

image

3.02配置postgresql 安装目录下的pg_hba.conf在其中添加

# Ipv4 local connections:
host all all 127.0.0.1/32 md5

一般pg_hba.conf位置在/var/lib/pgsql/data/目录

3.03进入posygreSQL C/C++ API探索阶段

  C/C++ APIs

pqxx::connection Ruiy(const std::string && dbstring)

连接到数据库的一个类型定义,dbstring提供所需的参数:

dbname = Ruiy;

user = byRuiy;

password = 321;

hostaddr = 127.0.0.1;

port = 5432;

如果连接设置成功,它创建C与连接对象提供各种有用的公共函数.

Ruiy.is_open()

is_open()是一个连接对象的公共方法,并返回boolen type values,如果连接处于活动状态,则此方法返回True,否则return false;

Ruiy.disconnect()使用此方法使打开的数据库连接断开.

(2,)pqxx:work Ruiy01(Ruiy)

此类型定义将用于创建一个事务对象,使用Ruiy连接方式,最终将用于执行SQL语句的事务模式.

如果交易对象被创建成功,那么它被分配到变量Ruiy01,这将被用来访问相关的事务性对象的公共方法.

Ruiy01.exec(const std::string & sql)

这种从事务对象的公共方法将被用于执行SQL语句.

Ruiy01.commit()这种从事务对象飞公共方法将用于提交事务.

Ruiy01.abort()这种从事务的公共方法将用于回滚事务.

(3,)pqxx:notransaction Ruiy02(Ruiy)

这是一个类型定义,被用来创建使用Ruiy连接方式,最终将被用于在非事务性模式下执行SQL语句的非事务性对象.

如果交易对象被成功创建成功,那么被分配到变量Ruiy02用于访问相关的非事务性对象的公共方法.

Ruiy02.exec(const std::string & sql)

从非事务对象的公共方法将被用于执行SQL语句,并返回一个结果对象,这实际上是一个迭代器返回的记录.

4,实战API

4.01配置测试数据库

image

从上面截图我们可以知道,postgresql 中用户名是不区分字母大小写的!

image

image

我们又知道上面我创建RuiY linuxOS用户时故意没为新建的用户设置密码,用此来验证,PostgreSQL 的内部认证用户与承载它的平台OS 的用户之间的一一对一的映射关系;

image

image

我们在此重新配置测试PostgreSQL数据库

image

哈哈哈,Ok我们的PostgreSQL 测试数据库名为rui哦,亲;

那随Ruiy一起开始PostgresQL C/C++ API吧

image

image

image

image

记得配置

/var/lib/pgsql/data/pg_hba.conf  修改 host  all all ident 语句中的(ident 为md5);

Ok! going C++ code!

<,>1,连接本地

    postgresql rui,rui用户,321密码,默认pgsql 5432端口,codeExample:

 2,compile and run;

 <二,>1,创建表

codeExample

 2,compile and run;

<三,>1,表中插入数据

codeExample

 2,compileCodeExample

 

 

 

end byRuiy;

posted on 2014-09-06 21:00  秦瑞It行程实录  阅读(7185)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui