使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)

编译前准备

1.安装mingw

安装mingw(不管是直接安装mingw还是其他如code::blocks附带安装的mingw),输入:gcc -v可显示如下图的版本信息,我的版本是mingw32  4.9.2。

2. 安装postgresql

postgresql各个版本下地址:http://www.enterprisedb.com/products-services-training/pgdownload#windows

注意:要下载与mingw编译器对应的版本,如果是mingw32请下载32bit安装包或者编译包;如果是mingw64,请下载64bit安装包或者编译包。

为什么要安装postgresql?

libpqxx是基于libpq的C++实现,libpqxx对libpq的C-API进行了很好的封装,开发人员使用时可以节省大量的编码时间。如果觉得自己C水平不错,可以直接去使用libpq。

libpq的编译方法:https://www.postgresql.org/docs/9.5/static/install-windows-libpq.html  【postgresql的文档真的很全】。

3.libpqxx编译

libpqxx下载地址:http://pqxx.org/download/software/libpqxx/

下载的版本是:libpqxx-4.0.1

解压下载的文件后,进入目录libpqxx-4.0.1\win32,复制common-sample文件,修改文件名为common。

打开common,修改如下(‘#‘为屏蔽符号):

#PGSQLSRC="C:\Sources\postgresql-9.1.1\src"

PGSQLSRC="C:\Program Files (x86)\PostgreSQL\9.5"

#LIBPQINC=$(PGSQLSRC)\interfaces\libpq

LIBPQINC=$(PGSQLSRC)\include

#LIBPQPATH=$(PGSQLSRC)\interfaces\libpq\Release
              #LIBPQDLL=libpq.dll
              #LIBPQLIB=libpqdll.lib

LIBPQPATH=$(PGSQLSRC)\lib
              LIBPQDLL=libpq.dll
              LIBPQLIB=libpq.lib

#LIBPQDPATH=$(PGSQLSRC)\interfaces\libpq\Debug
              #LIBPQDDLL=libpqd.dll
              #LIBPQDLIB=libpqddll.lib

LIBPQDPATH=$(PGSQLSRC)\lib
              LIBPQDDLL=libpq.dll
              LIBPQDLIB=libpq.lib

修改完成后保存。

将libpqxx-4.0.1\config\sample-headers\compiler\MinGW-3.4\pqxx\目录下的所有头文件拷贝到include\pqxx目录下;

将libpqxx-4.0.1\config\sample-headers\libpq\9.0\pqxx\目录下的所有头文件拷贝到include\pqxx目录下。

切换到libpqxx-4.0.1\目录下,运行命令:mingw32-make -f  win32\MinGW.mak ALL。

如果按照如上操作,应该会完成 libpqxx编译。

安装postgresql时一定要安装与编译器对应的版本,否则编译时会报DLL引用错误

时间: 2024-10-30 08:20:03

使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)的相关文章

C#访问postgresql数据库

最近开始做C#的DotNet的工作,因为对PostgreSQL数据库比较有兴趣,所以自己研究了一下如何访问PostgreSQL的 数据库的问题. 1.为了访问PostgreSQL数据库,需要从pgfoundry网站,下载Npgsql .Net Data Provider for Postgresql的组件. 访问 URL:http://pgfoundry.org/frs/?group_id=1000140 注:因为使用的是DotNet3.5,所以下载了Npgsql2.0.6-bin-ms.net

C#访问PostGreSQL数据库的方法 http://www.jb51.net/article/35643.htm

这次的项目中的一个环节要求我把PostGreSQL数据取出来,然后放到SqlServer里,再去处理分析. http://www.jb51.net/article/35643.htm - 我对PostGreSQL只是一知半解,记录这个过程是希望如果以后微软技术方向的人遇到类似的需求,可以有个比较直接的的参考. 在不熟悉的知识领域里,总是有搜索引擎可以帮到我. 初步了解PostGreSQL数据库及数据形态 首先我想看看PostGreSQL的数据库以及我想要获取的数据形态是什么样子的,Linux和P

访问PostgreSQL数据库

一旦创建了数据库,你就可以访问它: 运行 PostgreSQL 交互的终端程序 psql ,它允许你交互地输入.编辑.执行 SQL 命令. 使用我们现有的图形前端工具,比如 PgAccess 或者带 ODBC 支持的办公套件来创建和管理数据库.这种方法在这份教程中没有介绍. 使用多种语言绑定中的一种写一个客户应用.这些可能性在 Part IV 中有更深入的讨论. 你可能需要启动 psql 来试验本教程中的例子.你可以用下面的命令为 mydb 数据库激活它: $ psql mydb 如果你省略了数

图文说明Visual Studio 2013编译libpqxx步骤以及常见编译错误

编译步骤(x86版本) 1.下载并安装postgresql,点击进入下载地址.下载界面如下: 目前最新版本是9.5.1,我下载了 Win x86-32 的最新版本.安装后目录如下: 2.下载并解压缩libpqxx,点击进入下载地址.下载界面如下: 目前最新版本是4.0.1,我下载了libpqxx-4.0.1.tar.gz 压缩包.解压后目录如下: 3.编译环境准备.(安装或解压路径请以实际的为准,本文路径仅供参考) 进入libpqxx的解压路径 D:\Program Files (x86)\li

PostgreSQL数据库中跨库访问解决方案

PostgreSQL跨库访问有3种方法:Schema,dblink,postgres_fdw. 方法A:在PG上建立不同SCHEMA,将数据和存储过程分别放到不同的schema上,经过权限管理后进行访问. 方法A的示例如下: 测试1(测试postgres超级用户对不同schema下对象的访问) 查看当前数据库中的schema postgres=# \dn List of schemas Name | Owner -------------------+--------- dbms_job_pro

Holer实现外网访问本地PostgreSQL数据库

外网访问内网PostgreSQL数据库 内网主机上安装了PostgreSQL数据库,只能在局域网内访问,怎样从公网也能访问本地PostgreSQL数据库? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动PostgreSQL数据库 默认安装的PostgreSQL数据库端口是5432. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.

访问GitLab的PostgreSQL数据库

1.登陆gitlab的安装服务查看配置文件 cat /var/opt/gitlab/gitlab-rails/etc/database.yml production: adapter: postgresql encoding: unicode collation: database: gitlabhq_production //数据库名 pool: 10 username: 'gitlab' //用户名 password: host: '/var/opt/gitlab/postgresql' /

PostgreSQL指定用户可访问的数据库pg_hba.conf

进入指定目录: # cd /var/lib/pgsql/9.3/data/ 使用vi编辑pg_hba.conf文件 # vi pg_hba.conf 以上配置为所有IP及网关都允许访问,使用MD5认证. postgres可访问所有数据库 bret用户仅允许访问community.community2数据库 weather仅允许访问weather数据库 原文地址:https://www.cnblogs.com/bretgui/p/9431829.html

PostgreSQL数据库内核分析 笔记(这本书没有怎么很好的看,主要就是一些数据结构、概念和流程的文字介绍)

PostgreSQL数据库内核分析 跳转至: 导航. 搜索 目录 1系统概述 2体系结构 3存储管理 4索引 5查询编译 6查询执行 7事务处理与并发控制 8数据库安全 9附录A 用Eclipse开发和调试 系统概述 初始化数据库:./initdb --no-locale -D ../data ./pg_ctl start -D ../data 数据库命令:initdb createuser dropuser createdb dropdb pg_dump pg_restore pg_ctl v