Postgrex.query
You're seeing just the function
query
, go back to Postgrex module for more information.
Specs
query(conn(), iodata(), list(), [execute_option()]) :: {:ok, Postgrex.Result.t()} | {:error, Exception.t()}
Runs an (extended) query and returns the result as {:ok, %Postgrex.Result{}}
or {:error, %Postgrex.Error{}}
if there was a database error. Parameters can
be set in the query as $1
embedded in the query string. Parameters are given
as a list of elixir values. See the README for information on how Postgrex
encodes and decodes Elixir values by default. See Postgrex.Result
for the
result data.
This function may still raise an exception if there is an issue with types
(ArgumentError
), connection (DBConnection.ConnectionError
), ownership
(DBConnection.OwnershipError
) or other error (RuntimeError
).
Options
:queue
- Whether to wait for connection in a queue (default:true
);:timeout
- Query request timeout (default:15000
);:decode_mapper
- Fun to map each row in the result to a term after decoding, (default:fn x -> x end
);:mode
- set to:savepoint
to use a savepoint to rollback to before the query on error, otherwise set to:transaction
(default::transaction
);:cache_statement
- Caches the query with the given name
Examples
Postgrex.query(conn, "CREATE TABLE posts (id serial, title text)", [])
Postgrex.query(conn, "INSERT INTO posts (title) VALUES ('my title')", [])
Postgrex.query(conn, "SELECT title FROM posts", [])
Postgrex.query(conn, "SELECT id FROM posts WHERE title like $1", ["%my%"])
Postgrex.query(conn, "COPY posts TO STDOUT", [])