ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
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