method
new
v4.0.2 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
new(connection, logger, connection_parameters, config)public
Initializes and connects a PostgreSQL adapter.
# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 532
def initialize(connection, logger, connection_parameters, config)
super(connection, logger)
if self.class.type_cast_config_to_boolean(config.fetch(:prepared_statements) { true })
@prepared_statements = true
@visitor = Arel::Visitors::PostgreSQL.new self
else
@visitor = unprepared_visitor
end
@connection_parameters, @config = connection_parameters, config
# @local_tz is initialized as nil to avoid warnings when connect tries to use it
@local_tz = nil
@table_alias_length = nil
connect
@statements = StatementPool.new @connection,
self.class.type_cast_config_to_integer(config.fetch(:statement_limit) { 1000 })
if postgresql_version < 80200
raise "Your version of PostgreSQL (#{postgresql_version}) is too old, please upgrade!"
end
initialize_type_map
@local_tz = execute('SHOW TIME ZONE', 'SCHEMA').first["TimeZone"]
@use_insert_returning = @config.key?(:insert_returning) ? self.class.type_cast_config_to_boolean(@config[:insert_returning]) : true
end Related methods
- Instance methods
- active?
- adapter_name
- clear_cache!
- disable_extension
- disconnect!
- enable_extension
- extension_enabled?
- extensions
- index_algorithms
- migration_keys
- native_database_types
- prepare_column_options
- reconnect!
- reset!
- schema_creation
- session_auth=
- set_standard_conforming_strings
- supports_ddl_transactions?
- supports_explain?
- supports_extensions?
- supports_index_sort_order?
- supports_insert_with_returning?
- supports_migrations?
- supports_partial_index?
- supports_primary_key?
- supports_ranges?
- supports_savepoints?
- supports_statement_cache?
- supports_transaction_isolation?
- table_alias_length
- use_insert_returning?
- valid_type?
- Class methods
- new
- Protected methods
-
postgresql_version -
translate_exception - Private methods
-
column_definitions -
configure_connection -
connect -
create_table_definition -
exec_cache -
exec_no_cache -
extract_pg_identifier_from_name -
extract_table_ref_from_insert_sql -
initialize_type_map -
last_insert_id -
last_insert_id_result -
last_insert_id_value -
prepare_statement -
reload_type_map -
select -
select_raw -
sql_key -
update_table_definition