1,postgresql学习uri推荐
http://www.php100.com/manual/PostgreSQL8/
[Note tips byRuiy,distinguish uri/url,service/server,There has a certain truth chillax!]
2,PostgreSQL linux distributionV ins、简单sql Ruiy在此就不多言了,主要是在linux平台下 OSUser与PostgreSQL的用户间对等映射关系;
3,PostgreSQL C/C++API简单实践之API简单熟悉介绍
postgresql C/C++ API主要使用libpq* lib;
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;
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配置测试数据库
从上面截图我们可以知道,postgresql 中用户名是不区分字母大小写的!
我们又知道上面我创建RuiY linuxOS用户时故意没为新建的用户设置密码,用此来验证,PostgreSQL 的内部认证用户与承载它的平台OS 的用户之间的一一对一的映射关系;
我们在此重新配置测试PostgreSQL数据库
哈哈哈,Ok我们的PostgreSQL 测试数据库名为rui哦,亲;
那随Ruiy一起开始PostgresQL C/C++ API吧
记得配置
/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;