如何在windows下安装libpq-dev软件包
我知道如何为Ubuntu安装LibPQ-DEV,但是我一直在寻找过去的问题,但我无法找到如何为Windows安装包装.是否可以下载该软件包或可以为其下载安装程序的地方? 解决方案 我不知道Windows有一个"软件包",但是您可以在此处下载Postgres的源代码: http://www.enterpriseb.com/downloads/postgres-postgresql-downloads 和其他地方. 下载您要寻找的特定版本的"核心"文件之一.您将获得一个TARBALL,如果您扩展会找到一个" Libpq"文件夹.系统应该在您的系统上进行的位置取决于您正在使用的开发工具链.
4 2023-12-06
编程技术问答社区
不能用SSL创建dbConnect与Postgres的连接
我正在运行我想要SSL的Postgres-9.4服务器.当我通过PGADMIN或Windows ODBC连接从笔记本电脑连接到Postgres服务器时,它可以与SSL一起使用.但是,当我尝试使用SSL与R连接时,它会失败. library(RPostgreSQL) drv
6 2023-12-05
编程技术问答社区
用Visual Studio针对第三方库进行链接
我正在尝试使用Visual Studios 2013创建.dll.该项目包括LIBPQ功能. 根据我在Internet上发现的其他堆栈流帖子以及我在Internet上找到的其他资源,我(据我所知)正确添加了Postgres Lib并将目录包括到项目中.但是,当我去构建项目时,它会返回许多"未解决的外部符号"错误. 我的路径是C:\Program Files\PostresSQL\9.3\...,所以我在附加库/Include Directory字段中被引号包围.我在项目中包括了libpq-fe.h标头文件...我不确定我在做什么错. 另一个注意事项,我可以使用g ++与-i,-l和-lpq标志一起从命令行中编译测试程序,但是我不确定如何从命令行(Plus)编译为.dll它增加了我只是不想处理的复杂性). 这些是我遇到的特定错误: 1>sql_arma.obj : error LNK2001: unresolved external symbol _PQcon
6 2023-11-20
编程技术问答社区
PostgreSQL 在 "date 1" 的参数化查询中出现语法错误
尝试参数化我的SQL查询(使用libpq函数),我被卡在语法错误上: SELECT date $1 错误是: ERROR: syntax error at or near "$1" 解决方案 可以找到解释 ::,CAST()和功能通话语法也可以用于指定 正常表达式的运行时类型转换,如 对类型 'string' syntax 类型的另一个限制是 为数组类型工作;使用::或CAST()指定数组的类型 常数. 大胆的重点是我的. 准备的语句的参数实际上不是 sting文字,而是键入 value ,因此您不能使用表单 type 'string' .使用其他两种形式之一将价值投射到其他类型,就像您已经发现自己一样. 示例: PREPARE foo AS SELECT $1::date; EXECUTE foo('2005-1-1'); 类似于文档: ...在SQL命令文本中,将明确的铸件附加到参数 符号以显示您将发送的数据类型.例如:
6 2023-10-30
编程技术问答社区
如何在libpq中使用PQexecParams?
我已经阅读了该文档,但是我仍然感到困惑如何使用此函数将此命令发送到服务器: INSERT INTO table_1($1,$2,$3); 我写的这个功能: void add_data_to_db(char table){ const char data[2][2] = {"12","me"}; re = PQexecParams(connection, "INSERT INTO test_table($1,$2)", 2,data,NULL,NULL,NULL,0 ); } 但是在编译期间发生此错误: db.c: In function ‘add_data_to_db’: db.c:40:6: warning: passing argument 4 of ‘PQexecParams’ fr
4 2023-09-19
编程技术问答社区
Ruby on Rails / PostgreSQL-启动服务器时库未加载错误
heyo.如果在另一个线程中回答了这个问题,我会事先表示歉意.我已经浏览了网站,但没有找到答案.但是,最接近的问题是 ruby在rails/postgresql上 - 启动server -libq.5.dylib 时,库未加载错误,但从未解决,答案对我没有帮助. 我正在尝试使Mac OSX 10.6.8上的PostgreSQL运行.我已经安装了Ruby 1.9.3p392和Rails 3.2.13. 自从我我的10.6.8和postgresapp需要10.7+以来,我尝试使用手动安装程序(v9.2.3)安装PG,此处可用: http://www.enterpriseb.com/products-services-services-training/pgdownload 我首先将其安装到:/library/postgresql/9.2/上.然后,我安装了PG GEM(PATH=$PATH:/Library/PostgreSQL/9.2/bin sudo gem insta
50 2023-08-17
编程技术问答社区
未加载的库:libpq.5.dylib
我的应用程序正在运行Ruby 1.9.2,Rails 3和PostgreSQL 8.3.它最初是设置并与PostgreSQL 9.1一起工作,但我卸载了9.1,并安装并更改为8.3 Heroku共享数据库设置上的确保兼容性.它运行正常,但现在不是 现在,在此应用程序上工作时,当我运行数据库升级时,我会收到此错误: dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle Reason: no suitable image found. Did find: /usr/lib/li
12 2023-08-16
编程技术问答社区
Rails 3-Can't install pg gem
当我尝试运行捆绑包时(捆绑安装)时,我一直都会得到 Installing pg (0.13.2) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/ryan/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb faile
16 2023-08-16
编程技术问答社区
在Macbook上无法加载tidycensus和地图视图包
我在rstudio中安装了packages tidycensus和mapview,但是当我尝试加载一个时,我会遇到以下错误: library(tidycensus) 错误:dyn.load中的" tidycensus"的软件包或命名空间负载失败(文件,dllpath = dllpath,...): 无法加载共享对象'/library/frameworks/r.framework/versions/4.0/resources/library/sf/libs/sf.so': dlopen(/library/frameworks/r.framework/4.0/4.0/resources/library/sf/libs/sf.so,6):库未加载:/USR/lib/libpq.5.dylib 从:/library/frameworks/r.framework/4.0/resources/library/sf/sf/libs/sf.so引用 原因:未找到图像 library(ma
14 2023-07-23
编程技术问答社区
复制 libpq.5.dylib 到 /usr/lib/libpq.5.dylib
我无法加载r中的软件包,因为文件libpq.5.dylib不在/usr/lib/libpq.5.dylib中.它在/usr/local/Cellar/libpq/13.0/lib/libpq.5.dylib 中 我尝试了这一行:sudo ln -s /usr/local/Cellar/libpq/13.0/lib/libpq.5.dylib /usr/lib/libpq.5.dylib,但是我得到了此响应:ln: /usr/lib/libpq.5.dylib: Operation not permitted 我该怎么做才能在/usr/lib/libpq.5.dylib中获取文件,而不会引起问题?此解决方案 表明我可能会面对问题,所以我不知道该怎么做. 解决方案 您真的不想要/usr/lib.苹果宣称这是禁止的,并且在较新的MacOS版本上,它的寿命仅限.除非您愿意进入恢复模式并手动篡改该卷(并且可能在未来的操作系统更新中重复此功能),这不是要走的路. 相反,让我们解决
12 2023-07-22
编程技术问答社区
如何使用PostgreSQL C库(libpq)访问HSTORE列?
我找不到有关使用C库访问Hstore数据访问的任何文档.目前,我正在考虑将Hstore列转换为我的查询中的数组,但是有一种方法可以避免这种转换吗? 解决方案 libpqtypes 似乎对hstore>. 另一种选择是避免在代码中直接与hstore进行交互.您仍然可以在数据库中受益,而无需在客户端上处理其文本表示.说您想获取Hstore领域;您只使用: SELECT t.id, k, v FROM thetable t, LATERAL each(t.hstorefield); 或在旧的postgresql版本上,您可以使用古怪的和非标准的设置 - 返回 - 函数 - 选择形式: SELECT t.id, each(t.hstorefield) FROM thetable t; (但是请注意,如果从t中选择多个记录,您会得到奇怪的结果LATERAL可以). 另一个选择是在查询时使用hstore_to_array或hstore_to_matrix,如果您愿
10 2023-07-13
编程技术问答社区
如何使用环境变量建立psycopg2连接?
我对 psycopg2文档说: 还要注意,可以使用环境变量将相同的参数传递给客户端库. 我希望,如果我导出了环境变量,以便可以使用psql连接,则应该能够使用psycopg2以相同的方式建立连接.但这似乎并非如此. 例如,在容器中运行一个完全新鲜的PostgreSQL: $ docker port frosty_lichterman 5432 0.0.0.0:32768 $ export PGHOST=localhost PGUSER=postgres PGPORT=32768 我现在可以使用PSQL连接,而无需提供任何显式连接字符串: $ psql -c 'select 1;' ?column? ---------- 1 (1 row) 但是在Python中,我不能: >>> import psycopg2 as p >>> c = p.connect() Traceback (most recent call last):
4 2023-07-13
编程技术问答社区
如何使用libpq's pgpass在不指定明文密码的情况下连接postgresql?
postgres的c库 libpq文档在不指定源代码中指定密码的情况下连接到数据库的更安全方法. 我找不到有关如何做的例子.如何使我的后服务器使用此文件?请帮助. 解决方案 您不会将其导入到 python 程序中. .pgpass的重点是它是一个常规文件,受系统文件权限的约束, libpq 驱动程序(如 psycopg2 )用于连接到 Postgres 将寻求此文件以获取密码,而不是要求密码在源代码或提示中. 另外,这不是服务器端文件,而是客户端文件.因此,在一个 *nix框上,您将拥有一个~/.pgpass文件,其中包含要建立的各种连接的凭据. 编辑响应OP的评论: 为了使 psycopg2 以.pgpass>: 正确身份验证,需要发生两件事. do 不在传递给psycopg2.connect 的字符串中指定密码 确保将为将通过 psycopg2 的用户添加正确的条目. 例如,为了在 local -host port 5432 上为特定用户的
10 2023-07-13
编程技术问答社区
加载psycopg2模块时出错: 未加载库:libpq.5.dylib
我试图使用Postgres数据库运行一个Django项目.我使用Postgres 13.4通过PostGressApp安装(通用版本,当前所有支持的版本)和Python 3.9(在VENV中).我在Mac上使用Apple M1芯片,Macos Big Sur. 我面临以下众所周知的问题: django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: dlopen(/Users/mymac/PyCharmProjects/projectname/venv/lib/python3.9/site-packages/psycopg2/_psycopg.cpython-39-darwin.so, 2): Library not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylib Referenced from: /Users/mymac
32 2023-07-13
编程技术问答社区
无法在Mac M1上链接libpq
我一直在尝试在MacBook M1上运行Rust Diesel板条箱,但它不起作用.汇编的最后一部分被以下错误打破: = note: ld: warning: ignoring file /usr/local/Cellar/libpq/14.1/lib/libpq.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64 Undefined symbols for architecture arm64: 当我获取libpq的信息时,我会得到以下内容: maxwellflitton@Maxwells-MacBook-Pro vanguard % brew info libpq libpq: stable 14.1 (b
70 2023-07-13
编程技术问答社区
如何使用libpq在PostgreSQL表中插入二进制格式的文本阵列?
我没有找到任何文档,描述了如何使用libpq在PostgreSQL中使用二进制数组. 所以你有桌子: CREATE TABLE IF NOT EXISTS test_array ( array_column text[] ) 您想使用PQexecParams以二进制格式插入数组 这到底是怎么做的? 解决方案 在Postgresql 9.5中测试了所描述的所有描述的所有内容. pqexecparams具有以下原型: PGresult *PQexecParams(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char * const *paramValues,
12 2023-06-12
编程技术问答社区
libpq更像JDBC驱动程序还是JavaSE;s java。sql包?
是正确的,以下两个是不同的概念: JDBC驱动程序(例如,PostgreSQL的JDBC驱动程序)和 Javase的Java.sql软件包? Javase的java.sql软件包是构建在JDBC驱动程序上的API,成为驱动程序 - agnostic是正确的吗? 在c for Postgresql, 与JDBC驱动程序的等效性是什么, 与java.sql的等效是什么? 是 解决方案 Java SE'java.sql软件包定义了Java库称为JDBC驱动程序的接口,可以实现以[几乎]供应商agnostic的方式提供使用数据库的功能.使用JDBC(java.sql软件包),您[几乎]永远不会使用特定于供应商的类,而只是针对接口进行编程. libpq是完全不同的东西 - 它是 postgres .它没有索赔,也没有尝试成为针对任何RDBMS编程的通用接口.
24 2023-06-12
编程技术问答社区
线程安全的PQconn对象
我想通过许多线程访问PostgreSQL表.多线程时,如何保护PQConn*对象? libpq 库提供了任何解决此问题的方法? 解决方案 与PostgreSQL的单个连接不支持同时查询.当查询处于活动状态时,除了可以从另一个线程或信号处理程序调用的PQcancel()外,不可能将其PGconn结构重用. 这来自客户端服务器协议的设计,而不是libpq本身. 要在多个线程中实现并发查询,每个线程必须具有自己的连接和自己的相应的非共享PGconn结构.
8 2023-06-12
编程技术问答社区
如何转储PGresult
我正在尝试调试访问Postgres数据库的C程序. 我想使用一些常规的邮政postgres倾倒pgresult的内容. 是否有一个邮政的例行程序,可以以人类可读的方式倾倒pgresult? 我将作为记录的选项添加,该选项将丢弃pgresult的内容. 这是非选择命令的相关问题: 如何为非选择命令倾倒pgresult 解决方案 src/interfaces/libpq/fe-print.c有一个公共函数PQprint;是在手册中
28 2023-06-12
编程技术问答社区
C libpq:从数字中获取浮点值
i有一个使用数字类型表示浮点值的表.如何使用libpq lib从此字段获取浮动值? Postgres中有一个专门的Float类型格式,但是我必须使用具有数字字段的现有数据库.我在Postgres文档中没有找到有关它的信息,因此每个信息都将受到赞赏. 解决方案 严格来说,您无法获得numeric的准确浮点表示.无论如何都不适合任何任意numeric. numeric是任意推荐的十进制浮点,在内部表示为二进制编码十进制字符串.通常以小数数字的文本字符串发送给客户端. float/double是 fixeCision 二进制浮点.他们在没有四舍五入错误的情况下无法表示所有小数号,并且它们不能表示无限的精度数字,因为它们具有固定的精确精度. 您的numeric s是numeric(18,15),即精密18,比例15. double precision具有15-17个显着的数字,具体取决于确切的值.因此,您可能会因为四舍五入而丢失数据. 如果您不介意,可以使用
14 2023-06-12
编程技术问答社区