本文将简单的介绍linux下使用python,go,c,java四种不同语言连接postgresql数据库的方法,顺便将会有简单的创建表和插入数据的实例。
C连接postgresql数据库
安装libpqxx
C连接postgrsql数据库需要下载postgresql数据库驱动libpqxx,它是PostgreSQL的官方C++客户端API。 libpqxx的源代码可以在BSD许可证下使用,因此您可以免费下载它,将其传递给其他人,更改它,销售,将其包含在您自己的代码中,并与任何人分享您的更改/修改。
在github的网址https://github.com/jtv/libpqxx可以下载新版本的libpqxx。这里使用的版本为5.1。
将下载的libpqxx.tar.gz或者libpqxx.zip解压缩后cd到其目录下,使用下述命令进行安装。
cd libpqxx-5.1
./configure
make
make install
正常情况下,运行完./configure命令之后,应该会出现makefile文件,如果没有出现makefile文件,还报如下错误时
是环境中缺少依赖包,可以使用命令:yum install postgresql-devel来安装相应的依赖包,可以解决问题。其他问题请根据报错信息搜索相关解决方法。
安装libpqxx完成。
C连接postgresql数据库代码
使用传参方法对不同的数据库进行登录,可以使用如下代码:
/*
Author:Aiky哇
传参为host,port,database,user,password
*/
...
#include <pqxx/pqxx>
...
int main(int argc, char* argv[])
{
string host=argv[1];
string port=argv[2];
string database=argv[3];
string user=argv[4];
string password=argv[5];
try{
string connstr="dbname="+database+" user="+user+" password="+password+" hostaddr="+host+" port="+port;
connection C(connstr);
if (C.is_open()) {
cout << "Opened database successfully: " << C.dbname() << endl;
} else {
cout << "Can't open database" << endl;
return 1;
}
//.....
//.....
C.disconnect ();
}catch (const std::exception &e){
cerr << e.what() << std::endl;
return 1;
}
}
C简单DDL和DML
void run_sql(string sql,connection &conn)
{
cout<<sql<<endl;
work tnx(conn);
tnx.exec(sql);
tnx.commit();
}
void select_sql(string