Connecting to PostgreSQL

This tutorial describes how to connect to PostgreSQL using the TPgConnection component.

  1. Requirements
  2. General Information
  3. Creating a Connection
  4. Opening a Connection
  5. Modifying a Connection
  6. Closing a Connection
  7. Additional Information
  8. See Also


This tutorial assumes that you have installed PgDAC and run the database server and the IDE. You need to know the server address, the port number (if you use a port other than the default port 5432), the database name, the schema, and the username and password. To connect at runtime, add the PgAccess unit to the uses clause for Delphi or include the PgAccess.hpp header file for C++ Builder.

General Information

To establish a connection to the server, set up the properties of the TPgConnection component: Server, Port, Database, Schema, Username, and Password. You can also specify all connection parameters in the ConnectString property.

Creating a Connection

Connecting at Design-Time

The following assumes that you have already created or opened an existing form in the IDE. At design-time, you can set up a TPgConnection object in the TPgConnection Editor or Object Inspector.

  1. Find the TPgConnection component in the PgDAC category on the Tool Palette.
  2. Double-click the component. A new object will appear on the form. If this is the first object TPgConnection in this unit, it will be named PgConnection1.

Using TPgConnection Editor

  1. Double-click the PgConnection1 object.
  2. Specify the DNS name or IP address of the PostgreSQL server in the Server edit box.
  3. If you use a port other than the default port 5432, specify it in the Port edit box.
  4. Specify the username (postgres by default) in the Username edit box.
  5. Specify the password (postgres by default) in the Password edit box.
  6. Specify the database name in the Database edit box.
  7. Specify the schema (public by default) in the Schema edit box.

Using Object Inspector

  1. Select the PgConnection1 object on the form.
  2. Set the Database property to the database name.
  3. Set the Password property to the password (postgres by default).
  4. If you use a port other than the default port 5432, set the Port property to the port.
  5. Set Schema property to the database schema (public by default).
  6. Set the Server property to the DNS name or IP address of the PostgreSQL server.
  7. Set the Username property to the username (postgres by default).

Connecting at Runtime

The same connection parameters at runtime are set up as follows:


  PgConnection1: TPgConnection;
  PgConnection1 := TPgConnection.Create(nil);
    // adds connection parameters
    PgConnection1.Server := 'server'; 
    PgConnection1.Database := 'database';
    PgConnection1.Username := 'username';
    PgConnection1.Password := 'password';
    PgConnection1.Port := 5432;
    // diables a login prompt
    PgConnection1.LoginPrompt := False; 
    // opens a connection

C++ Builder

TPgConnection* PgConnection1 = new TPgConnection(NULL);
try {
	// adds connection parameters
	PgConnection1->Server = "server"; 
    PgConnection1->Database = "database";
	PgConnection1->Username = "username";
	PgConnection1->Password = "password";
	PgConnection1->Port = 5432;
	// diables a login prompt
	PgConnection1->LoginPrompt = False; 
	// opens a connection
__finally {

Opening a Connection

To open a connection at run-time, call the Open method:





Another way to open a connection at runtime is to set the Connected property to True:


PgConnection1.Connected := True;

C++ Builder

PgConnection1->Connected = True;

You can also set up the Connected property at design-time in the Object Inspector.

Modifying a Connection

You can modify a connection by changing properties of the TPgConnection object. Note that while some of the object's properties can be altered without changing the state of a connection, in most cases, a connection is closed when a new value is assigned to the property. For example, if you change the value of the Server property, a connection is closed immediately and you need to reopen it manually.

Closing a Connection

To close a connection, call the Close method or set the Connected property to False:




PgConnection1.Connected := False;

C++ Builder



PgConnection1->Connected = False;

Additional Information

PgDAC offers a wide set of features to achieve better performance, balance network load, and enable additional capabilities, for example:

See Also

© 1997-2022 Devart. All Rights Reserved. Request Support DAC Forum Provide Feedback