PostgreSql

The PostgreSql implementation of the Database interface.

You should construct this class, but then use it through the interface functions.

auto db = new PostgreSql("dbname=name");
foreach(row; db.query("SELECT id, data FROM table_name"))
	writeln(row[0], " = ", row[1]);

Constructors

this
this(string connectionString)

dbname=your_database_name is probably the most common connection string. See section "33.1.1.1. Keyword/Value Connection Strings" on https://www.postgresql.org/docs/10/libpq-connect.html

Destructor

A destructor is present on this object, but not explicitly documented in the source.

Members

Functions

error
string error()
executePreparedStatement
ResultSet executePreparedStatement(string name, T args)

Prepared statement support

startTransaction
void startTransaction()

Inherited Members

From Database

queryImpl
ResultSet queryImpl(string sql, Variant[] args)

Actually implements the query for the database. The query() method below might be easier to use.

escape
string escape(string sqlData)

Escapes data for inclusion into an sql string literal

escapeBinaryString
string escapeBinaryString(const(ubyte)[] sqlData)

Escapes binary data for inclusion into a sql string. Note that unlike escape, the returned string here SHOULD include the quotes.

startTransaction
void startTransaction()

query to start a transaction, only here because sqlite is apparently different in syntax...

query
ResultSet query(string sql, T t)

Just executes a query. It supports placeholders for parameters

sysTimeToValue
string sysTimeToValue(SysTime )

turns a systime into a value understandable by the target database as a timestamp to be concated into a query. so it should be quoted and escaped etc as necessary

Suggestion Box / Bug Report