# How can I connect my katalon project to a postgreSQL database?

**URL:** <https://forum.katalon.com/t/how-can-i-connect-my-katalon-project-to-a-postgresql-database/12812>\
**Category:** Miscellaneous\
**Tags:** integrations\
**Created:** [August 23, 2018, 7:24pm UTC](https://forum.katalon.com/t/how-can-i-connect-my-katalon-project-to-a-postgresql-database/12812 "2018-08-23T19:24:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Clutch\_QA](https://avatars.discourse-cdn.com/v4/letter/c/87869e/32.png) [@Clutch\_QA](https://forum.katalon.com/u/Clutch_QA)\
**Post date:** [August 23, 2018, 7:24pm UTC](https://forum.katalon.com/t/how-can-i-connect-my-katalon-project-to-a-postgresql-database/12812/1 "2018-08-23T19:24:00Z")

</div>

Below is the sample script that was cobbled together between a DB Admin and QA Engineer.

**package** newTest

**import**  **static** com.kms.katalon.core.checkpoint.CheckpointFactory._findCheckpoint_

**import**  **static** com.kms.katalon.core.testcase.TestCaseFactory._findTestCase_

**import**  **static** com.kms.katalon.core.testdata.TestDataFactory._findTestData_

**import**  **static** com.kms.katalon.core.testobject.ObjectRepository._findTestObject_

**import** com.kms.katalon.core.annotation.Keyword

**import** com.kms.katalon.core.checkpoint.Checkpoint

**import** com.kms.katalon.core.checkpoint.CheckpointFactory

**import** com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords

**import** com.kms.katalon.core.model.FailureHandling

**import** com.kms.katalon.core.testcase.TestCase

**import** com.kms.katalon.core.testcase.TestCaseFactory

**import** com.kms.katalon.core.testdata.TestData

**import** com.kms.katalon.core.testdata.TestDataFactory

**import** com.kms.katalon.core.testobject.ObjectRepository

**import** com.kms.katalon.core.testobject.TestObject

**import** com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords

**import** com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords

**import** internal.GlobalVariable

**import** MobileBuiltInKeywords **as** Mobile

**import** WSBuiltInKeywords **as** WS

**import** WebUiBuiltInKeywords **as** WebUI

**import** java.sql.DriverManager

**import** java.sql.\*

**import** org.postgresql.jdbc.\*

**public**  **class** TestPostgres {

**private**  **static** Connection _connection_ = **null** ;

/\*\*

\* Open and return a connection to database

\* **@param** dataFile absolute file path

\* **@return** an instance of java.sql.Connection

\*/

//Establishing a connection to the DataBase

@Keyword

**def** connectDB(String url, String dbname, String port, String username, String password) {

//Load driver class for your specific database type

String conn = “jdbc:postgresql://” + url + “:” + port + “/” + dbname

[//Class.forName](https://Class.forName)(“org.sqlite.JDBC”)

//String connectionString = “jdbc:sqlite:” + dataFile

**if** (_connection_ != **null** && !_connection_.isClosed()) {

_connection_.close()

}

_connection_ = DriverManager._getConnection_(conn, username, password)

**return** _connection_

}

/\*\*

\* execute a SQL query on database

\* **@param** queryString SQL query string

\* **@return** a reference to returned data collection, an instance of java.sql.ResultSet

\*/

//Executing the constructed Query and Saving results in resultset

@Keyword

**def** executeQuery(String queryString) {

Statement stm = _connection_.createStatement()

ResultSet rs = stm.executeQuery(queryString)

**return** rs

}

//Closing the connection

@Keyword

**def** closeDatabaseConnection() {

**if** (_connection_ != **null** && !_connection_.isClosed()) {

_connection_.close()

}

_connection_ = **null**

}

/\*\*

\* Execute non-query (usually INSERT/UPDATE/DELETE/COUNT/SUM…) on database

\* **@param** queryString a SQL statement

\* **@return** single value result of SQL statement

\*/

@Keyword

**def** execute(String queryString) {

Statement stm = _connection_.createStatement()

**boolean** result = stm.execute(queryString)

**return** result

}

}

---

<div class="post-metadata">

**Author:** ![Prabhu](https://avatars.discourse-cdn.com/v4/letter/p/db5fbb/32.png) [@Prabhu](https://forum.katalon.com/u/Prabhu)\
**Post date:** [October 15, 2018, 7:27am UTC](https://forum.katalon.com/t/how-can-i-connect-my-katalon-project-to-a-postgresql-database/12812/2 "2018-10-15T07:27:49Z")

</div>

> Clutch QA said:
> 
> Below is the sample script that was cobbled together between a DB Admin and QA Engineer.
> 
> **package** newTest
> 
> **import**  **static** com.kms.katalon.core.checkpoint.CheckpointFactory._findCheckpoint_
> 
> **import**  **static** com.kms.katalon.core.testcase.TestCaseFactory._findTestCase_
> 
> **import**  **static** com.kms.katalon.core.testdata.TestDataFactory._findTestData_
> 
> **import**  **static** com.kms.katalon.core.testobject.ObjectRepository._findTestObject_
> 
> **import** com.kms.katalon.core.annotation.Keyword
> 
> **import** com.kms.katalon.core.checkpoint.Checkpoint
> 
> **import** com.kms.katalon.core.checkpoint.CheckpointFactory
> 
> **import** com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords
> 
> **import** com.kms.katalon.core.model.FailureHandling
> 
> **import** com.kms.katalon.core.testcase.TestCase
> 
> **import** com.kms.katalon.core.testcase.TestCaseFactory
> 
> **import** com.kms.katalon.core.testdata.TestData
> 
> **import** com.kms.katalon.core.testdata.TestDataFactory
> 
> **import** com.kms.katalon.core.testobject.ObjectRepository
> 
> **import** com.kms.katalon.core.testobject.TestObject
> 
> **import** com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords
> 
> **import** com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords
> 
> **import** internal.GlobalVariable
> 
> **import** MobileBuiltInKeywords **as** Mobile
> 
> **import** WSBuiltInKeywords **as** WS
> 
> **import** WebUiBuiltInKeywords **as** WebUI
> 
> **import** java.sql.DriverManager
> 
> **import** java.sql.\*
> 
> **import** org.postgresql.jdbc.\*
> 
> **public**  **class** TestPostgres {
> 
> **private**  **static** Connection _connection_ = **null** ;
> 
> /\*\*
> 
> \* Open and return a connection to database
> 
> \* **@param** dataFile absolute file path
> 
> \* **@return** an instance of java.sql.Connection
> 
> \*/
> 
> //Establishing a connection to the DataBase
> 
> @Keyword
> 
> **def** connectDB(String url, String dbname, String port, String username, String password) {
> 
> //Load driver class for your specific database type
> 
> String conn = “jdbc:postgresql://” + url + “:” + port + “/” + dbname
> 
> [//Class.forName](https://Class.forName)(“org.sqlite.JDBC”)
> 
> //String connectionString = “jdbc:sqlite:” + dataFile
> 
> **if** (_connection_ != **null** && !_connection_.isClosed()) {
> 
> _connection_.close()
> 
> }
> 
> _connection_ = DriverManager._getConnection_(conn, username, password)
> 
> **return** _connection_
> 
> }
> 
> /\*\*
> 
> \* execute a SQL query on database
> 
> \* **@param** queryString SQL query string
> 
> \* **@return** a reference to returned data collection, an instance of java.sql.ResultSet
> 
> \*/
> 
> //Executing the constructed Query and Saving results in resultset
> 
> @Keyword
> 
> **def** executeQuery(String queryString) {
> 
> Statement stm = _connection_.createStatement()
> 
> ResultSet rs = stm.executeQuery(queryString)
> 
> **return** rs
> 
> }
> 
> //Closing the connection
> 
> @Keyword
> 
> **def** closeDatabaseConnection() {
> 
> **if** (_connection_ != **null** && !_connection_.isClosed()) {
> 
> _connection_.close()
> 
> }
> 
> _connection_ = **null**
> 
> }
> 
> /\*\*
> 
> \* Execute non-query (usually INSERT/UPDATE/DELETE/COUNT/SUM…) on database
> 
> \* **@param** queryString a SQL statement
> 
> \* **@return** single value result of SQL statement
> 
> \*/
> 
> @Keyword
> 
> **def** execute(String queryString) {
> 
> Statement stm = _connection_.createStatement()
> 
> **boolean** result = stm.execute(queryString)
> 
> **return** result
> 
> }
> 
> }

Am not having port number,then how can i establish connection in PostgreSQL

---

<div class="post-metadata">

**Author:** ![Andrej\_Podhajsky](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/andrej_podhajsky/32/1055_2.png) [@Andrej\_Podhajsky](https://forum.katalon.com/u/Andrej_Podhajsky)\
**Post date:** [October 15, 2018, 7:53am UTC](https://forum.katalon.com/t/how-can-i-connect-my-katalon-project-to-a-postgresql-database/12812/3 "2018-10-15T07:53:53Z")

</div>

use default one 5432
