2011-12-09 38 views
5

Tôi đang sử dụng Ruby on Rails 3.1.1 và tôi đang sử dụng đá quý pg.Làm thế nào để loại bỏ postgresql tiếng ồn

Trong Gemfile.lock tôi đây là những gì tôi có

pg (0.11.0) 

log của tôi được làm đầy với thông tin như một đưa ra dưới đây. Tôi không nhận được rằng tiếng ồn với sqlite3. Làm thế nào tôi có thể ngăn chặn tiếng ồn.

PK and serial sequence (1.6ms) SELECT attr.attname, seq.relname 
FROM pg_class seq, 
pg_attribute attr, 
pg_depend dep, 
pg_namespace name, 
pg_constraint cons 
WHERE seq.oid = dep.objid 
AND seq.relkind = 'S' 
AND attr.attrelid = dep.refobjid 
AND attr.attnum = dep.refobjsubid 
AND attr.attrelid = cons.conrelid 
AND attr.attnum = cons.conkey[1] 
AND cons.contype = 'p' 
AND dep.refobjid = '"companies_users"'::regclass 
    PK and custom sequence (0.8ms) SELECT attr.attname, 
CASE 
WHEN split_part(def.adsrc, '''', 2) ~ '.' THEN 
substr(split_part(def.adsrc, '''', 2), 
strpos(split_part(def.adsrc, '''', 2), '.')+1) 
ELSE split_part(def.adsrc, '''', 2) 
END 
FROM pg_class t 
JOIN pg_attribute attr ON (t.oid = attrelid) 
JOIN pg_attrdef def ON (adrelid = attrelid AND adnum = attnum) 
JOIN pg_constraint cons ON (conrelid = adrelid AND adnum = conkey[1]) 
WHERE t.oid = '"companies_users"'::regclass 
AND cons.contype = 'p' 
AND def.adsrc ~* 'nextval' 

Trả lời

0

Tôi tin rằng đá quý này sẽ giúp https://github.com/dolzenko/silent-postgres

Việc sử dụng khá đơn giản: chỉ cần thêm "im lặng-postgres" để Gemfile của bạn.

+0

'im lặng-postgres' ngăn chặn' THÔNG BÁO: 'dòng và tương tự. Câu hỏi đặt ra là một truy vấn được tạo và chạy bởi ActiveRecord, cụ thể là 'ActiveRecord :: ConnectionAdapters :: PostgreSQLAdapter # pk_and_sequence_for'. – willglynn

+0

Tôi cũng không thấy lý do tại sao đường ray tiếp tục hỏi. Tôi không thấy bất cứ điều gì sẽ thay đổi. – mcr

0

Dưới đây là một monkeypatch tôi thêm vào config/initialisers để bịt miệng chỉ này một dòng nhật ký gây phiền nhiễu:

if defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) 
    module ActiveRecord 
    module ConnectionAdapters 
     class PostgreSQLAdapter 
     def pk_and_sequence_for_with_silenced_logging(table) 
      log_level = ActiveRecord::Base.logger.level 
      ActiveRecord::Base.logger.level = Logger::WARN 
      pk_and_sequence_for_without_silenced_logging(table) 
     ensure 
      ActiveRecord::Base.logger.level = log_level 
     end 
     alias_method_chain(:pk_and_sequence_for, :silenced_logging) 
     end 
    end 
    end 
end 
Các vấn đề liên quan