Tag: postgresql

找不到PostgreSQL客户端库(libpq)

我试图在Mac OS X 10.6上安装PostgreSQL for Rails。 首先,我尝试了MacPorts安装,但是这样做并不顺利,所以我做了一次点击DMG安装。 这似乎工作。 我怀疑我需要安装PostgreSQL开发包,但我不知道如何在OS X上做到这一点。 下面是我尝试做sudo gem install pg : $ sudo gem install pg Building native extensions. This could take a while… ERROR: Error installing pg: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb checking for pg_config… yes Using config values from /Library/PostgreSQL/8.3/bin/pg_config checking for libpq-fe.h… yes checking […]

Postgresql:用户密码authentication失败“postgres”

我已经安装了PostgreSQL 8.4,Postgres客户端和Pgadmin 3.控制台客户端和Pgadmin用户“postgres”的身份validation失败。 我已经键入用户为“postgres”和密码“postgres”,因为它以前工作。 但是现在authentication失败了。 我之前几次没有这个问题。 我该怎么办? 会发生什么? psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password authentication failed for user "postgres" FATAL: password authentication failed for user "postgres"

优化PostgreSQL进行快速testing

我从一个典型的Rails应用程序从SQLite切换到PostgreSQL。 问题在于PG的运行规格变慢了。 在SQLite上花费了大约34秒,在PG上花了大约76秒, 比慢了2倍多 。 所以现在我想应用一些技术来使规范的性能与SQLite保持一致 ,而不需要修改代码(理想情况下只需设置连接选项,这可能是不可能的)。 从我头顶上的一些明显的事情是: RAM磁盘(用OSX上的RSpec进行良好的设置很好看) 未logging的表格(可以应用于整个数据库,所以我没有改变所有的脚本?) 正如你可能已经理解,我不关心可靠性和其他(在这里数据库只是一次性的东西)。 我需要充分利用PG,并尽可能快地完成 。 最好的答案将理想地描述这样做的技巧 ,设置和这些技巧的弊端。 更新: fsync = off + full_page_writes = off只减less时间full_page_writes = off秒(〜-16秒)。 良好的开端,但远不及34的目标。 更新2:我试图使用RAM磁盘,但性能增益是在误差范围内。 所以似乎并不值得。 更新3:*我发现最大的瓶颈,现在我的规格运行速度与SQLite的速度一样快。 问题是做了截断的数据库清理。 显然SQLite太快了。 为了“修复”,我在每次testing之前打开一个交易 ,并在最后回滚。 一些数字〜700testing。 截断:SQLite – 34s,PG – 76s。 交易:SQLite – 17s,PG – 18s。 SQLite速度提高2倍。 PG的4倍速度增加。

这是什么Javascript“要求”?

我试图让Javascript读/写PostgreSQL数据库。 我在github上find了这个项目 。 我能够得到以下示例代码在节点中运行。 var pg = require('pg'); //native libpq bindings = `var pg = require('pg').native` var conString = "tcp://postgres:1234@localhost/postgres"; var client = new pg.Client(conString); client.connect(); //queries are queued and executed one after another once the connection becomes available client.query("CREATE TEMP TABLE beatles(name varchar(10), height integer, birthday timestamptz)"); client.query("INSERT INTO beatles(name, height, birthday) values($1, $2, […]

如何loggingPostgreSQL查询?

如何启用由PostgreSQL 8.3执行的所有SQL的logging? 编辑(更多信息)我改变了这些行: log_directory = 'pg_log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_statement = 'all' 并重新启动PostgreSQL服务…但没有创build日志…我正在使用Windows Server 2003。 有任何想法吗?

PostgreSQL错误:致命:angular色“用户名”不存在

我正在build立我的PostgreSQL 9.1。 我无法用PostgreSQL做任何事情:不能createdb ,不能createuser ; 所有操作都会返回错误消息 Fatal: role h9uest does not exist h9uest是我的帐户名称,我sudo apt-get install在此帐户下sudo apt-get install PostgreSQL 9.1。 类似的错误仍然存​​在的root帐户。

在触发器函数中插入dynamic表名

我不知道如何实现如下内容: CREATE OR REPLACE FUNCTION fnJobQueueBEFORE() RETURNS trigger AS $$ DECLARE shadowname varchar := TG_TABLE_NAME || 'shadow'; BEGIN INSERT INTO shadowname VALUES(OLD.*); RETURN OLD; END; $$ LANGUAGE plpgsql; 即将值插入到具有dynamic生成名称的表中。 执行上面的代码产生: ERROR: relation "shadowname" does not exist LINE 1: INSERT INTO shadowname VALUES(OLD.*) 它似乎build议variables不扩展/允许作为表名称。 我在Postgres手册中找不到这个参考。 我已经用EXECUTE试验过了,如下所示: EXECUTE 'INSERT INTO ' || quote_ident(shadowname) || ' VALUES ' […]

PostgreSQL可以索引数组列吗?

在文档中我找不到明确的答案。 如果一个列是一个数组types,所有input的值是否会被单独索引? 我用一个int[]列创build了一个简单的表,并在其上放置了一个唯一的索引。 我注意到我不能添加相同的整数数组,这导致我相信索引是数组项的组合,而不是每个项目的索引。 INSERT INTO "Test"."Test" VALUES ('{10, 15, 20}'); INSERT INTO "Test"."Test" VALUES ('{10, 20, 30}'); SELECT * FROM "Test"."Test" WHERE 20 = ANY ("Column1"); 该索引是否有助于查询?

对Postgres进行批量插入最快的方法是什么?

我需要以编程方式插入数十万的logging到Postgre数据库。 目前我在单个“查询”中执行1000个插入语句。 有没有更好的方法来做到这一点,我不知道一些大容量插入语句?

升级到OSX 10.7 Lion后修复Postgresql

我最近升级到了OSX 10.7,此时我的rails安装完全连接到psql服务器。 当我从命令行使用 psql -U postgres 它工作得很好,但是当我尝试使用相同的用户名和密码运行rails服务器或控制台时,出现此错误 …activerecord-3.0.9/lib/active_record/connection_adapters/postgresql_adapter.rb:950:in `initialize': could not connect to server: Permission denied (PGError) Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 任何想法可能会发生什么将是超级有益的! 谢谢!