Skip to content
LINQPad PostgreSQL Driver
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
DynamicLinqPadPostgreSqlDriver.Tests - fixed build warnings Oct 31, 2017
DynamicLinqPadPostgreSqlDriver - added handling of multiple associations between two tables and tool… Oct 31, 2017
.gitignore - updated linq2db to version 1.9.0 Oct 31, 2017
DynamicLinqPadPostgreSqlDriver.sln - initial release Dec 25, 2015
LICENSE Initial commit Dec 25, 2015 - added build status to readme Jun 10, 2016
VersionInfo.cs - increased version to Nov 5, 2017

LINQPad PostgreSQL Driver

Build status

This is a driver for LINQPad to add support for PostgreSQL databases. This driver uses LINQ to DB to execute the LINQ queries and Npgsql for the database access. In addition Dapper is used for a more convenient database access during the model creation.

This driver has been tested with PostgreSQL 9.4.4 but should work with all versions supported by LINQ to DB v1.0.7.4 and Npgsql v3.0.7. It can be used with LINQPad versions 4 and 5.


  1. Download the .lpx file of the latest release from the releases tab (e.g. LINQPad.PostgreSQL.Driver.0.1.2.lpx).
  2. Run LINQPad and click Add connection.
  3. Click View more drivers.
  4. Click Browse and select the .lpx file. The driver has now been installed.
  5. The driver (PostgreSQL (LINQ to DB)) should now show up in the Add connection dialog.

Setting up a connection

  1. Click Add connection, select the driver and click Next.
  2. Provide the connection info by either specifying the server (e.g. localhost:5432) and database (with optional username and password) or by specifying a Npgsql connection string manually. If you do not specify a port explicitly the default port 5432 is used.
  3. Create the connection by clicking the Save button.

Modifying data

Unfortunately, editing data directly in the results grid is not supported for third-party drivers. You can, however, use the LINQ to DB DataConnection to modify your data. The DataConnection can be accessed using the this keyword in your query. In the following some samples to insert, update and delete records are provided. You can get more detailed information on the LINQ to DB website.


If you want to provide an ID yourself:

var user = new User();
user.Id = 42;
user.Name = "John Doe";
user.Emailaddress = "";


If the ID is generated by the database:

var user = new User();
user.Name = "John Doe";
user.Emailaddress = "";

var userId = this.InsertWithIdentity(user);


If you have an instance of the object you want to update:

var user = Users.Single(u => u.Id == 42);
user.Emailaddress = "";


If you want to update all records matching certain criteria:

Users.Where(u => u.Id == 42)
	 .Set(u => u.Emailaddress, "")


If you have an instance of the object you want to delete:

var user = Users.Single(u => u.Id == 42);

If you want to delete all records matching certain criteria:

Users.Delete(u => u.Id == 42);
You can’t perform that action at this time.