Class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
In: lib/active_record/connection_adapters/postgresql_adapter.rb
Parent: AbstractAdapter

The PostgreSQL adapter works both with the native C (ruby.scripting.ca/postgres/) and the pure Ruby (available both as gem and from rubyforge.org/frs/?group_id=234&release_id=1944) drivers.

Options:

  • :host - Defaults to "localhost".
  • :port - Defaults to 5432.
  • :username - Defaults to nothing.
  • :password - Defaults to nothing.
  • :database - The name of the database. No default, must be provided.
  • :schema_search_path - An optional schema search path for the connection given as a string of comma-separated schema names. This is backward-compatible with the :schema_order option.
  • :encoding - An optional client encoding that is used in a SET client_encoding TO <encoding> call on the connection.
  • :min_messages - An optional client min messages that is used in a SET client_min_messages TO <min_messages> call on the connection.
  • :allow_concurrency - If true, use async query methods so Ruby threads don‘t deadlock; otherwise, use blocking query methods.

Methods

Public Class methods

Initializes and connects a PostgreSQL adapter.

Public Instance methods

Is this connection alive and ready for queries?

Returns ‘PostgreSQL’ as adapter name for identification purposes.

Adds a new column to the named table. See TableDefinition#column for details of the options you can use.

Begins a transaction.

Changes the default value of a table column.

Returns the current client message level.

Set the client message level.

Returns the list of all column definitions for a table.

Commits a transaction.

Create a new PostgreSQL database. Options include :owner, :template, :encoding, :tablespace, and :connection_limit (note that MySQL uses :charset while PostgreSQL uses :encoding).

Example:

  create_database config[:database], config
  create_database 'foo_development', :encoding => 'unicode'

Close the connection.

Executes an SQL statement, returning a PGresult object on success or raising a PGError exception otherwise.

Returns the list of all indexes for a table.

Executes an INSERT query and returns the new record‘s ID

Close then reopen the connection.

Drops an index from a table.

Aborts a transaction.

Returns the active schema search path.

Sets the schema search path to a string of comma-separated schema names. Names beginning with $ have to be quoted (e.g. $user => ’$user’). See: www.postgresql.org/docs/current/static/ddl-schemas.html

This should be not be called manually but set in database.yml.

Executes a SELECT query and returns an array of rows. Each row is an array of field values.

Does PostgreSQL support migrations?

Does PostgreSQL support standard conforming strings?

Returns the configured supported identifier length supported by PostgreSQL, or report the default of 63 on PostgreSQL 7.x.

Returns the list of all tables in the schema search path or a specified schema.

Maps logical Rails types to PostgreSQL-specific data types.

Executes an UPDATE query and returns the number of affected tuples.

Protected Instance methods

Returns the version of the connected PostgreSQL version.

[Validate]