Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails应用程序日志中看到Postgres错误(plpgsql已存在/函数数组_accum已存在)_Ruby On Rails_Postgresql_Plpgsql - Fatal编程技术网

Ruby on rails 在Rails应用程序日志中看到Postgres错误(plpgsql已存在/函数数组_accum已存在)

Ruby on rails 在Rails应用程序日志中看到Postgres错误(plpgsql已存在/函数数组_accum已存在),ruby-on-rails,postgresql,plpgsql,Ruby On Rails,Postgresql,Plpgsql,我经常在Rails开发日志中看到以下postgres错误/警告。我希望这不会导致我的应用程序失败。知道是什么导致了他们吗?我能做些什么来调试这个 安装在我的电脑中: -Ruby 1.8.7 2008-08-11补丁级别72[i486 linux] -轨道2.2.2 -PostgreSQL 8.3.7 [4;36;1mSQL (0.1ms)[0m [0;1mSET client_min_messages TO 'panic'[0m [4;35;1mSQL (0.1ms)[0m [0

我经常在Rails开发日志中看到以下postgres错误/警告。我希望这不会导致我的应用程序失败。知道是什么导致了他们吗?我能做些什么来调试这个

安装在我的电脑中: -Ruby 1.8.7 2008-08-11补丁级别72[i486 linux] -轨道2.2.2 -PostgreSQL 8.3.7

  [4;36;1mSQL (0.1ms)[0m   [0;1mSET client_min_messages TO 'panic'[0m
  [4;35;1mSQL (0.1ms)[0m   [0mSET client_min_messages TO 'notice'[0m
  [4;36;1mSQL (0.7ms)[0m   [0;1mSELECT version FROM schema_migrations[0m
DEPRECATION WARNING: ActionMailer::Base.register_template_extension has been deprecated.Use ActionView::Base.register_template_extension instead. (called from /home/gsmendoza/workspace/idea/georgemendoza/config/environment.rb:104)
  [4;35;1mSQL (0.2ms)[0m   [0mbegin[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1msavepoint ts[0m
  [4;35;1mSQL (0.0ms)[0m   [0mPGError: ERROR: function "array_accum" already exists with same argument types
: CREATE AGGREGATE array_accum (anyelement)
 (
 sfunc = array_append,
 stype = anyarray,
 initcond = '{}'
 );
[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1mrollback to savepoint ts[0m
  [4;35;1mSQL (0.1ms)[0m   [0mrelease savepoint ts[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1mcommit[0m
  [4;35;1mSQL (0.1ms)[0m   [0mbegin[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1msavepoint ts[0m
  [4;35;1mSQL (0.0ms)[0m   [0mPGError: ERROR: language "plpgsql" already exists
: CREATE LANGUAGE 'plpgsql';[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1mrollback to savepoint ts[0m
  [4;35;1mSQL (0.1ms)[0m   [0mrelease savepoint ts[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1mcommit[0m
  [4;35;1mSQL (0.1ms)[0m   [0mbegin[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1msavepoint ts[0m
  [4;35;1mSQL (2.6ms)[0m   [0m CREATE OR REPLACE FUNCTION crc32(word text)
 RETURNS bigint AS $$
 DECLARE tmp bigint;
 DECLARE i int;
 DECLARE j int;
 DECLARE word_array bytea;
 BEGIN
 i = 0;
 tmp = 4294967295;
 word_array = decode(replace(word, E'\\', E'\\\\'), 'escape');
 LOOP
 tmp = (tmp # get_byte(word_array, i))::bigint;
 i = i + 1;
 j = 0;
 LOOP
 tmp = ((tmp >> 1) # (3988292384 * (tmp & 1)))::bigint;
 j = j + 1;
 IF j >= 8 THEN
 EXIT;
 END IF;
 END LOOP;
 IF i >= char_length(word) THEN
 EXIT;
 END IF;
 END LOOP;
 return (tmp # 4294967295);
 END
 $$ IMMUTABLE STRICT LANGUAGE plpgsql;
[0m
  [4;36;1mSQL (0.1ms)[0m   [0;1mrelease savepoint ts[0m
  [4;35;1mSQL (0.8ms)[0m   [0mcommit[0m

你不需要做任何事。看起来Rails只是试图安装一种已经安装的plpgsql语言,并创建一个您的PostgreSQL版本已经拥有的函数


Rails为此做好了准备,只需忽略此错误。这不是一个好的编程示例,但没什么好担心的。

我意识到这个错误是由于我的错误而出现的

丢弃测试数据库 创建了新的测试数据库 在尝试将开发数据库的结构迁移到测试时,列表项尝试反之亦然 长时间工作的副作用