class

ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

v4.0.2 - Show latest stable - Superclass: AbstractAdapter

The PostgreSQL adapter works with the native C (bitbucket.org/ged/ruby-pg) driver.

Options:

  • :host - Defaults to a Unix-domain socket in /tmp. On machines without Unix-domain sockets, the default is to connect to localhost.

  • :port - Defaults to 5432.

  • :username - Defaults to be the same as the operating system name of the user running the application.

  • :password - Password to be used if the server demands password authentication.

  • :database - Defaults to be the same as the user name.

  • :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.

  • :variables - An optional hash of additional parameters that will be used in SET SESSION key = val calls on the connection.

  • :insert_returning - An optional boolean to control the use or RETURNING for INSERT statements defaults to true.

Any further options are used as connection parameters to libpq. See http://www.postgresql.org/docs/9.1/static/libpq-connect.html for the list of parameters.

In addition, default connection parameters of libpq can be set per environment variables. See http://www.postgresql.org/docs/9.1/static/libpq-envars.html .

Included modules

  • ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::DatabaseStatements
  • ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Quoting
  • ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::ReferentialIntegrity
  • ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::SchemaStatements

Constants

ADAPTER_NAME = 'PostgreSQL'

BYTEA_COLUMN_TYPE_OID = 17

FEATURE_NOT_SUPPORTED = "0A000"

FOREIGN_KEY_VIOLATION = "23503"

MONEY_COLUMN_TYPE_OID = 790

NATIVE_DATABASE_TYPES = {\nprimary_key: "serial primary key",\nstring: { name: "character varying", limit: 255 },\ntext: { name: "text" },\ninteger: { name: "integer" },\nfloat: { name: "float" },\ndecimal: { name: "decimal" },\ndatetime: { name: "timestamp" },\ntimestamp: { name: "timestamp" },\ntime: { name: "time" },\ndate: { name: "date" },\ndaterange: { name: "daterange" },\nnumrange: { name: "numrange" },\ntsrange: { name: "tsrange" },\ntstzrange: { name: "tstzrange" },\nint4range: { name: "int4range" },\nint8range: { name: "int8range" },\nbinary: { name: "bytea" },\nboolean: { name: "boolean" },\nxml: { name: "xml" },\ntsvector: { name: "tsvector" },\nhstore: { name: "hstore" },\ninet: { name: "inet" },\ncidr: { name: "cidr" },\nmacaddr: { name: "macaddr" },\nuuid: { name: "uuid" },\njson: { name: "json" },\nltree: { name: "ltree" }\n}

UNIQUE_VIOLATION = "23505"

Files

  • activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb
  • activerecord/lib/active_record/connection_adapters/postgresql/oid.rb
  • activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb
  • activerecord/lib/active_record/connection_adapters/postgresql/referential_integrity.rb
  • activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
  • activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb