diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index c4dacc85ff..6052c30174 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,16 @@ *SVN* +* Added encoding and min_messages options for PostgreSQL #1205 [shugo]. Configuration example: + + development: + adapter: postgresql + database: rails_development + host: localhost + username: postgres + password: + encoding: UTF8 + min_messages: ERROR + * Fixed acts_as_list where deleting an item that was removed from the list would ruin the positioning of other list items #1197 [Jamis Buck] * Added validates_exclusion_of as a negative of validates_inclusion_of diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index f9719b9f2b..9161878d5a 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -25,6 +25,8 @@ module ActiveRecord password = config[:password].to_s schema_order = config[:schema_order] + encoding = config[:encoding] + min_messages = config[:min_messages] if config.has_key?(:database) database = config[:database] @@ -37,6 +39,8 @@ module ActiveRecord ) pga.execute("SET search_path TO #{schema_order}") if schema_order + pga.execute("SET client_encoding TO '#{encoding}'") if encoding + pga.execute("SET client_min_messages TO '#{min_messages}'") if min_messages pga end @@ -54,6 +58,8 @@ module ActiveRecord # * :password -- Defaults to nothing # * :database -- The name of the database. No default, must be provided. # * :schema_order -- An optional schema order string that is using in a SET search_path TO call on connection. + # * :encoding -- An optional client encoding that is using in a SET client_encoding TO call on connection. + # * :min_messages -- An optional client min messages that is using in a SET client_min_messages TO call on connection. class PostgreSQLAdapter < AbstractAdapter def select_all(sql, name = nil) select(sql, name)