在Windows中使用libpq连接postgresql数据库
1.首先,编译libpq
下载源码,进入src目录,interface/libpq/win32.mak 文件中,mt命令那些行删掉。
执行 nmake /f win32.mak
在interface/libpq/Release中可以看到libpq.lib
2.服务端配置
修改postgresql.conf
logging_collector = on # 打开日志
// ptest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// #include "pch.h"
#include <iostream>
#include <libpq-fe.h> #pragma comment(lib, "libpq.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "Secur32.lib") int main()
{
const char *conninfo = "postgresql://username@127.0.0.1:5432/testdb"; PGconn *conn;
PGresult *res; conn = PQconnectdb(conninfo); if (PQstatus(conn) != CONNECTION_OK)
{
std::cerr << "Connection to db failed:" << PQerrorMessage(conn);
PQfinish(conn);
exit();
} std::cout << "Connect successful!" << std::endl; res = PQexec(conn, "SELECT * FROM pg_tables;"); if (PQresultStatus(res) != PGRES_TUPLES_OK)
{
std::cerr << "EXECUTION failed:" << PQerrorMessage(conn);
PQclear(res);
PQfinish(conn);
exit();
} int nFields;
nFields = PQnfields(res);
//打印属性名字
for (int i = ; i < nFields; ++i)
{
std::cout << PQfname(res, i) << std::ends;
}
std::cout << "\n---" << std::endl; //打印行
for (int i = ; i < PQntuples(res); ++i)
{
for (int j = ; j < nFields; ++j)
{
std::cout << PQgetvalue(res, i, j) <<'\t'<< std::ends;
}
std::cout << std::endl;
} PQclear(res); PQfinish(conn); getchar(); return ;
}
在Windows中使用libpq连接postgresql数据库的更多相关文章
- ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...
- Entity Freamwork 6连接PostgreSql数据库
原文 Entity Freamwork 6连接PostgreSql数据库 开发环境 VS 2015 Update 1 Postgre Sql 9.4 使用过程 1.使用Nuget在项目中添加对E ...
- Abp.NHibernate连接PostgreSQl数据库
Abp.NHibernate动态库连接PostgreSQl数据库 初次接触Abp框架,其框架中封装的操作各类数据的方法还是很好用的,本人还在进一步的学习当中,并将利用abp.NHibernate类库操 ...
- msf连接PostgreSQL数据库
一.启动PostgreSQL服务######################################################################?root@root:~# ...
- powerdesigner连接postgresql数据库生成pdm及word文档
1.准备软件: powerdesigner165与postgresql的驱动:psqlodbc_11_01_0000 2.安装并破解完成powerdesigner165 参看链接:https://ww ...
- 建立安全SSL连接PostgreSQL数据库服务器
建立安全SSL连接PostgreSQL数据库服务器当前物联网的挑战之一就是提供最高的安全级别.这就是为什么需要开启SSL连接到 PostgreSQL. 当你想要安全的存储数据到PostgreSQL数据 ...
- 视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时 ...
- typescript-koa-postgresql 实现一个简单的rest风格服务器 —— 连接 postgresql 数据库
接上一篇,这里使用 sequelize 来连接 postgresql 数据库 1.安装 sequelize,数据库驱动 pg yarn add sequelize sequelize-typescri ...
- Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)
系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe ...
随机推荐
- Lodop简答问答大全
其他相关简短问答:Lodop简短问答客户反馈篇 及排查步骤 及注册相关,Lodop某个电脑打印内容大小有问题,LODOP超文本简短问答和相关内容,LODOP.C-Lodop简短排查语句.Lodop.c ...
- 17.kubernete的dashboard
部署dashboard kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/depl ...
- Oracle篇 之 查询行及概念
Oracle: s_emp s_dept s_region 行:Row(tuple) 列:Column(attribute) conn:改变用户 Drop:删除用户 drop user bri ...
- java垃圾回收GC
垃圾回收时,暂停虚拟机运行 基础假设:大部分对象只存在很短的时间 对于新生代,Minor GC经常会发生 Major/Full GC会对老生代做GC 老生代GC采用Compact算法,移动形成完整的空 ...
- 解决js复制在安卓和ios兼容问题
var clipboard = new ClipboardJS('.fr', { // target: function() { // return document.querySelector('d ...
- Docker下安装GitLab
1.需要先安装Docker和Docker Compose,参考:https://www.cnblogs.com/hackyo/p/9280042.html 2.配置GitLab SSL(可跳过): m ...
- [Android] Android 锁屏实现与总结 (三)
上接: Android 锁屏实现与总结 (二) 系列文章链接如下: [Android] Android 锁屏实现与总结 (一) [Android] Android 锁屏实现与总结 (二) [Andro ...
- [物理学与PDEs]第4章习题4 一维理想反应流体力学方程组的守恒律形式及其 R.H. 条件
写出在忽略粘性与热传导性, 即设 $\mu=\mu'=\kappa=0$ 的情况, 在 Euler 坐标系下具守恒律形式的一维反应流动力学方程组. 由此求出在解的强间断线上应满足的 R.H. 条件 ( ...
- 常见的游戏AI技术对比(FSM,HFSM,BT,GOAP,HTN,Utilitay,机器学习)
最近研究的内容,比较懒还没写文章,先占个坑,过几天补
- 练习:javascript分享划过简单效果
利用目标点判断速度speed正负值.利用目标点函数封装传参, <!doctype html> <html lang="en"> <head> & ...