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:
<二,>1,創建表
codeExample
<三,>1,表中插入數據
codeExample

end byRuiy;