在WAMP上集成postgreSQL
我刚刚在Windows 7上安装了PostgreSQL.我正在尝试将PostgreSQL与Wamp Server集成. 为此,我在httpd.conf和php.ini文件中进行了以下更改 1 loadModule c:/path to libpq.dll in httpd.conf,然后 2 extension=php_mod_pgsql.dll,extension=php_pgsql.dll - php.ini 中的enable(reemove;) 如果我进行上述更改,则本地主机不起作用. 如果我做第二次,则更改了Local -Host的工作,但不会加载libpq.dll. 我通过php脚本检查了PGSQL 脚本显示"是",但是Apache没有加载libpq.dll. 现在,我应该为将postgresql加载到apache2.2*(wam
0 2023-05-30
编程技术问答社区
Laravel使用postgre bytea blob字段
我在Laravel安装上使用PostgreSQL.表具有一个字体类型字段,该字段用于存储二进制数据(BASE64_ENCODED文件内容). 当我使用雄辩检索表时,我会在此字段中返回资源类型变量. 我宁愿将其作为字符串检索? $raw = Media::where('id','=',$id)->first(); $raw->file_data = base64_decode($raw->file_data); // doesn't work 解决方案 作为这个问题的作者,没有向答案发布详细信息,我将在此处发布我的发现. 由于返回的字段是流的句柄stream_get_contents 函数要读取字符串中的值,然后可以使用pg_unescape_bytea获取BYTEA数据的实际值.最后,如果您想在html中显示bytea数据,则使用htmlspecialchars函数. 示例代码: $my_bytea = stream_get_contents
0 2023-05-27
编程技术问答社区
如何向Postgres函数传递自定义类型数组
我有一个自定义类型 CREATE TYPE mytype as (id uuid, amount numeric(13,4)); 我想将其传递给具有以下签名的函数: CREATE FUNCTION myschema.myfunction(id uuid, mytypes mytype[]) RETURNS BOOLEAN AS... 如何在Postgres查询中调用此问题,而不可避免地是从PHP调用? 解决方案 您可以将替代语法与a SELECT myschema.myfunc('0d6311cc-0d74-4a32-8cf9-87835651e1ee' , '{"(0d6311cc-0d74-4a32-8cf9-87835651e1ee, 25)" , "(6449fb3b-844e-440e-8973-31eb6bbefc81, 10)"}'::mytype[]); 我在数组中的两行类型之间添加了一个线断裂,以显示显示.那是合法的. 如何找
0 2023-05-26
编程技术问答社区
PostgreSQL-输入一个包含数组的复合类型的数组
我有一个包含文本阵列等的复合类型.我在主表中使用它来创建复合类型的数组 如何生成插入命令(不使用复合类型的默认字段名称)?我可以用复合材料数组创建一个临时表,然后将其插入主表格? 例如: DROP TABLE collection; DROP TABLE book_set; DROP TYPE book; CREATE TYPE book AS ( title TEXT, authors TEXT[], extra_spare TEXT ); CREATE TEMPORARY TABLE book_set ( books book[] ); CREATE TABLE shelf_collection ( shelf INT, position INT, books book[] ); -- Prefer to specify the fields I want, and NOT extra_spare as shown here! -- AND it doesn't ye
0 2023-05-24
编程技术问答社区
如果PostgreSQL的count(*)总是很慢,如何对复杂的查询进行分页?
如果Postgresql的count(*)是始终慢 使触发器似乎不是一个很好的解决方案,因为在这种情况下,我们有很多页面(例如不同的类别,过滤器等). 如果VACUUM/VACUUM ANALYZE/ANALYZE/VACUUM FULL无济于事该怎么办?与PostgreSQL一起使用count(*)的最佳实践是什么? 解决方案 您是否阅读了该文章的标题? 请注意,以下文章仅适用于9.2之前的PostgreSQL版本.现在实施仅索引的扫描. 使用9.2,通常会发现您的结果更好.阅读有关详细信息,请 也就是说,在使用LIMIT和OFFSET的较旧版本上,通常效果很好.如果您不介意一些变化,则可以使用表统计信息估算RowCounts(以及PageCounts).请参阅"估计行计数" 在您已经链接到的文章中 使用LIMIT和OFFSET the IS,IMO,无论如何是反模式.很多时候,您都可以重述分页代码,因此它使用sort_column > 'last_
0 2023-05-23
编程技术问答社区
在多个表中插入动态列的函数
我想做我尝试了: CREATE or replace FUNCTION create_patient(_name text, _email text, _phone text , _password text , _field1 text, _field2 text, _field3 timestamp, _field4 text , OUT _pid integer, OUT _id integer ) RETURNS record AS $$ DECLARE _id integer; _type text; _pid integer; BEGIN _type := 'patient'; INSERT into patients (name, email, phone, field1, field2, field3) VALUES (_name, _email, _phone, _field1
14 2023-05-23
编程技术问答社区
在group by子句中连接数组
我们将问题分组为单个数组. 我们想将两个列的值加入一个单个数组,并汇总多行的这些数组. 给定以下输入: | id | name | col_1 | col_2 | | 1 | a | 1 | 2 | | 2 | a | 3 | 4 | | 4 | b | 7 | 8 | | 3 | b | 5 | 6 | 我们想要以下输出: | a | { 1, 2, 3, 4 } | | b | { 5, 6, 7, 8 } | 元素的顺序很重要,应与聚合行的ID相关. 我们尝试了array_agg()函数: SELECT array_agg(ARRAY[col_1, col_2]) FROM mytable GROUP BY name; 不幸的是,此语句提出了一个错误: ERROR: could not find array type for data ty
0 2023-05-18
编程技术问答社区
如果缺失,PostgreSQL会使用前一行的值
我有以下查询: WITH t as ( SELECT date_trunc('hour', time_series) as trunc FROM generate_series('2013-02-27 22:00'::timestamp, '2013-02-28 2:00', '1 hour') as time_series GROUP BY trunc ORDER BY trunc ) SELECT DISTINCT ON(trunc) trunc, id FROM t LEFT JOIN ( SELECT id, created, date_trunc('hour', created) as trunc_u FROM event ORDER BY created DESC ) u ON trunc = trunc_u 产生以下结果: "2013-02-27 22:00:00"; "20
0 2023-05-18
编程技术问答社区
必须出现在GROUP BY子句中或在聚合函数中使用
我有一张看起来像呼叫者的'Makerar' 的桌子 cname wmname avg 加拿大 Zoro 2.0000000000000000 西班牙 路飞 1.0000000000000000000000 西班牙 USOPP 5.000000000000000000 我想为每个cname选择最大AVG. SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname; 但是我会遇到一个错误, ERROR: column "makerar.wmname" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname; 所以我这样做 SELECT cname, wmnam
0 2023-05-18
编程技术问答社区
山地狮的Postgres无法连接
在我更新到Mountain Lion后,我的Postgres Doest工作.它仍在运行,但我的应用程序无法连接到它. $ ps aux | grep postgres postgres 204 0.0 0.0 2446960 836 ?? Ss 7:31AM 0:00.59 postgres: stats collector process postgres 203 0.0 0.1 2478732 2240 ?? Ss 7:31AM 0:00.41 postgres: autovacuum launcher process postgres 202 0.0 0.0 2478600 584 ?? Ss 7:31AM 0:00.34 postgres: wal writer process postgres 2
2 2023-05-14
编程技术问答社区
如何在ubuntu 12.0中更新openerp 7的新模块?
完成,在Ubuntu 12.0中更新开Openerp 7中的新模块的所有可能方法. 是否还有其他方法可以更新Ubuntu 12.0中的Openerp 7中的新模块? can anyone help me.. 解决方案 将您的模块放在 addons/目录 下 重新启动您的服务器 转到 openerp菜单设置 - >模块 - >更新模块列表和更新,而不是 转到 openerp菜单设置 - >模块 - >已安装的模块,然后搜索模块名称 希望这会帮助您找到模块. ,您仍然找不到比 的模块 左键单击模块转到属性 提供填充访问权限的权限:读写 将封闭文件的权限申请许可
0 2023-05-08
编程技术问答社区
如何使用OpenERP将一个数据保存在两个数据库中?
当我想在OpenerP中编辑代码时,是否可以在两个表中字段具有相同名称的两个数据库中保存一块数据. 解决方案 是的,如果您知道数据库,但让我警告您这是非常糟糕的主意,因为它很风险,所有电阻层(ORM)都将被违反. 其他解决方案 您实际想做什么?如果要同步,请使用模块base_synchro.该模块还不完整.您必须在该模块中进行自定义
2 2023-05-08
编程技术问答社区
Postgres的数据类型NUMERIC可以存储有符号的值吗?
在PostgreSQL中,我想存储签名的值-999.9 - 9999.9. 我可以使用numeric(5.1)吗? 或我应该使用哪种类型? 解决方案 您当然可以使用numeric 精度为5,比例为1,就像@simon评论,但使用逗号(,),而不是dot(.) SELECT numeric(5,1) '-999.9' AS nr_lower , numeric(5,1) '9999.9' AS nr_upper; nr_lower | nr_upper ----------+---------- -999.9 | 9999.9 字符串中的负符号和点在字符串中不计入允许的最大数字(precision). 如果您不需要限制长度,只需使用numeric. 如果您需要执行最小和最大值,请添加a 检查约束: CHECK (nr_column BETWEEN -999.9 AND 9999.9) numeric存储您的号码恰好.如果您不需要绝对
0 2023-04-30
编程技术问答社区
不能使@ManyToOne关系为空
我有一个我想无效的一对一关系: @ManyToOne(optional = true) @JoinColumn(name = "customer_id", nullable = true) private Customer customer; 不幸的是,JPA将数据库中的列保持为无效.谁能解释一下?有没有办法使它起作用?请注意,我将jboss 7,JPA 2.0与Hibernate一起用作持久提供商和PostgreSQL 9.1数据库. 编辑: 我发现了问题的原因.显然,这是由于我在引用实体Customer中定义主键的方式: @Entity @Table public class Customer { @Id @GeneratedValue @Column(columnDefinition="serial") private int id; } 似乎使用@Column(columnDefinition="serial")对
10 2023-04-30
编程技术问答社区
在plpgsql中检查一个变量是否存在的最佳做法?
例如,我有一个存储过程可以从CSV文件中导入数据,并将读取数据写入SQL表. 我的表格定义如下: CREATE TABLE person (id int, name text, age int, married boolean); 首先,我检查记录是否已经存在,如果存在,我确实更新,如果没有更新 - 插入. 每个记录的每个字段都可能具有不同的类型,因此将SQL命令的结果分配给标量变量列表: SELECT name, age, married INTO v_name, v_age, v_married [..] 让我们假设每列被声明为可选(允许NULL).那么,检查哪个变量(v_name,v_age,v_married)的最佳方法是什么? 可以处理? 我找到了许多解决方案: 如果找不到,则 当no_data_found时 如果v_age不是null,则[...] 或动态解决方案我现在使用上面提到的最后一种方法,当我必须检查多个列(col)时:
0 2023-04-30
编程技术问答社区
检查Postgres数组中是否存在NULL
类似于这个问题,我如何找到是否存在数组中的null值? 这是一些尝试. SELECT num, ar, expected, ar @> ARRAY[NULL]::int[] AS test1, NULL = ANY (ar) AS test2, array_to_string(ar, ', ') array_to_string(ar, ', ', '(null)') AS test3 FROM ( SELECT 1 AS num, '{1,2,NULL}'::int[] AS ar, true AS expected UNION SELECT 2, '{1,2,3}'::int[], false ) td ORDER BY num; num | ar | expected | test1 | test2 | test3 -----+------------+----------+-------+-------+-------
2 2023-04-30
编程技术问答社区
用不同的参数测试函数中的空值
我有一个postgres函数: create function myfunction(integer, text, text, text, text, text, text) RETURNS table(id int, match text, score int, nr int, nr_extra character varying, info character varying, postcode character varying, street character varying, place character varying, country character varying, the_geom geometry) AS $$ BEGIN return query (select a.id, 'address' as match, 1 as score, a.ad_nr, a.ad_nr_extra,a.ad_info,a.ad_postcode, s.name a
2 2023-04-30
编程技术问答社区
如何从连接中使用Entity Framework + PostgreSQL?
我已经看到线程讨论了实体框架和官方说明的使用后框架的使用.这些说明需要为每个安装而运行gacutil,这对于部署目的而言并不那么方便. 我想在这里做的是将PostgreSQL连接直接传递给DbContext构造函数.这对我来说足够了,因为我将不用设计师使用CodeFirst.这就是我要做的: public class Context : DbContext { Context(System.Data.Common.DbConnection connection) : base(connection, true) { } public static Context CreateContext() { NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=*****
2 2023-04-27
编程技术问答社区
在Postgresql中插入大型对象会返回53200内存不足的错误
PostgreSQL 9.1 NPGSQL 2.0.12 我有二进制数据,我想存储在PostgreSQL数据库中.但是,大多数文件加载正常,但是,一个大的二进制文件(664 MB)文件会引起问题.尝试通过NPGSQL大量对象支持将文件加载到PostgreSQL时,PostgreSQL Server返回" OUT MOMERY"错误. 我目前正在使用4GB RAM的工作站上运行此操作,而2GB则免费使用以闲置状态运行的PostgreSQL. 这是我正在使用的代码,改编自/a>. using (var transaction = connection.BeginTransaction()) { try { var manager = new NpgsqlTypes.LargeObjectManager(connection); var noid = manager.Create(NpgsqlTypes.LargeObje
18 2023-04-27
编程技术问答社区
FUNCTION语法错误
CREATE FUNCTION check_available_flightID(date) RETURNS integer AS $$ BEGIN SELECT FlightID FROM Flight WHERE FlightDate::date = $1; IF NEW.FlightID IS NULL THEN RAISE EXCEPTION 'No filight in the date you enter' END IF; RETURN query SELECT FlightID FROM Flight WHERE FlightDate::date = $1; $$ LANGUAGE SQL; 它说的语法错误接近"如果" ... 有些困惑为什么有些功能需要BEGIN,而有些则不需要. 任何人都可以给我提示吗? 解决方案 我不是Postgres的专家,但我认为new是针对触发器而不是常规功能的. 我认为您想要类似的东西
4 2023-04-21
编程技术问答社区