小编Vic*_*tor的帖子

在OS X上安装PG gem - 无法构建本机扩展

似乎很多其他人在安装pg gem时遇到了问题.没有为他人提出的解决方案对我有用.

我试图安装pg gem和postgres.app.pg gem不会安装.我得到的第一个错误是:

安装pg(0.17.0)时发生错误,Bundler无法继续.gem install pg -v '0.17.0'在捆绑之前确保成功.

关于将我的gem安装指向pg的配置的安装建议失败,并显示以下错误消息(此论坛上的许多其他人遇到过):

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out
Run Code Online (Sandbox Code Playgroud)

我不知道如何查找或访问此日志文件以搜索更多线索.

当我尝试使用sudo apt-get install命令时,我也收到错误消息(找不到命令).在过去的6个小时里,我一直在搜索这个论坛,尝试了每一条建议,让pg与我的rails项目合作.

我找不到关于如何更改路径的建议,或者具体地说,需要进行哪些更改.我which pg_config返回一个文件源.我已经使用命令来使用该配置安装pg.它失败.

有这么多人遇到麻烦.许多答案都表明了自制软件.我不得不删除它,因为它抛出了其他问题.

postgresql macos gem ruby-on-rails

175
推荐指数
9
解决办法
10万
查看次数

Ruby:@ rb_sysopen打开的文件过多

打开一个文件File.new(big_file)(不关闭它)1016次(Ubuntu)或1017次(CentOS)后,它似乎有一个限制,它会引发:

Too many open files @ rb_sysopen - big_file (Errno::EMFILE)
Run Code Online (Sandbox Code Playgroud)

有没有办法提高这个限制?

在我的系统上,ulimit设置为unlimited.

ruby

14
推荐指数
1
解决办法
8578
查看次数

PostgreSQL:"bytea"和"bit varying"类型之间的区别

PostgreSQL类型byteabit varying声音类似:

文档没有提到任何一个的最大大小.难道是1GB喜欢character varying

我有两个单独的用例,都在一个包含数百万行的表中:

存储MD5哈希值

这将是一个bytea长度为16个字节或a bit(128).它将用于:

  • 重复数据删除:大量使用GROUP BY,我想有一个索引.
  • WHERE md5 =仅查询完全匹配.
  • 显示为人类使用的十六进制字符串.

存储任意二进制数据

长度不超过4kB的二进制数据字符串:

  • 按位运算以查找与某个掩码匹配的字符串.这篇文章末尾的例子.
  • 提取一些字节,例如获取字符串中字节14的整数值.
  • 一些重复数据删除.

使用按位操作的工作示例bit varying.掩码是X'00FF00',它只返回行X'AAAAAA'.我缩短了示例的字符串,但它将超过它们的全长,高达4kB.是否可以做类似的事情bytea

CREATE TABLE test1 (mystring bit varying);
INSERT INTO test1 VALUES (X'AAAAAA'), (X'ABCABC');
SELECT * FROM test1 WHERE mystring & X'00FF00' = X'00AA00';
Run Code Online (Sandbox Code Playgroud)

其中的byteabit varying是比较合适的?

我看到这个UUID类型正好存储了16个字节,那么存储MD5会有什么好处吗?

postgresql bit-manipulation

13
推荐指数
2
解决办法
5909
查看次数

为PostgreSQL 8.3安装PL/Ruby

这是为了使用嵌入式ruby代码开发postgres函数,但我无法构建它.

根据http://www.robbyonrails.com/articles/2005/08/22/installing-untrusted-pl-ruby-for-postgresql的建议

我试图建立从最新的版本(plruby-0.5.3.tar.gz)所需的plruby.so在提供 ftp://moulon.inra.fr/pub/ruby/

我已经整理了我的本地postgres设置的位置,并将调用调整为:

ruby extconf.rb --with-pgsql-include=/usr/postgresql-8.3.4/include/server --enable-shared --disable-conversion --with-pgsql-version=83
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多变种,但它似乎无法成功制作'conftest.c'文件

它说:

checking for catalog/pg_proc.h... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Run Code Online (Sandbox Code Playgroud)

以下是我在mkmf.log中的最终结果

have_header: checking for catalog/pg_proc.h... -------------------- yes
"gcc -E -I. -I/usr/lib/ruby/1.8/x86_64-linux -I. -I/usr/postgresql-8.3.4/include/server   -g -O2  -fPIC  conftest.c -o conftest.i"
checked program was:
/* begin */
1: …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql

7
推荐指数
1
解决办法
2713
查看次数

无法使用sysctl更改每个进程的最大打开文件数

我的实际限制是1024:

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 95979
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory …
Run Code Online (Sandbox Code Playgroud)

linux centos6 ubuntu-16.04

5
推荐指数
2
解决办法
5267
查看次数

PostgreSQL中是否有哈希函数?

我正在使用Sphinx索引我的数据库.问题是我必须通过字符变化字段过滤结果.所以我必须找到一种方法来转换变化的字符sql_attr_uint.我知道mysql中的CRC32可以做到这一点.在PostgreSQL中是否有CRC32或任何替换?

postgresql sphinx

2
推荐指数
1
解决办法
2593
查看次数

CRC32功能与PL/pgSQL

如何计算32位循环冗余校验(CRC-32)作为PostgreSQL中的函数,与MySQL一样

postgresql crc32 crc plpgsql

1
推荐指数
1
解决办法
3200
查看次数