Getting following error in using cursor to fetch the records from a large table in c language

From: M Tarkeshwar Rao <m(dot)tarkeshwar(dot)rao(at)ericsson(dot)com>
To: "'pgsql-general(at)postgresql(dot)org'" <pgsql-general(at)postgresql(dot)org>
Subject: Getting following error in using cursor to fetch the records from a large table in c language
Date: 2019-10-30 16:59:50
Message-ID: VI1PR0701MB2718C0817F667E16FDB74D9CAE600@VI1PR0701MB2718.eurprd07.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,

Getting following error in using cursor to fetch the records from a large table in c language.

Can you please suggest why it is coming and what is the remedy for this.

Error Details

-----------------

Failed to execute the sql command close:

mycursor_4047439616_1571970686004430275FATAL: terminating connection due to conflict with recovery

DETAIL: User query might have needed to see row versions that must be removed.

HINT: In a moment you should be able to reconnect to the database and repeat your command.

Sample Code snippet used

theCursorDec = (RWCString)"DECLARE " + mySqlCursor + " CURSOR FOR " + theSql;

myFetchSql = "FETCH " + fetchStr + " IN " + mySqlCursor;

// Begin the cursor

PQexec(connection, ,"BEGIN"))

PQexec(connection, ,"myFetchSql")

// Fetch records from the cursor. Getting First N tuples

mySqlResultsPG = PQexec(connection,myFetchSql);

if(PQresultStatus(mySqlResultsPG) == PGRES_TUPLES_OK)

{

myNumColumns = PQnfields(mySqlResultsPG);

ntuples = PQntuples(mySqlResultsPG);

myTotalNumberOfRowsInQueryResult = ntuples;

myCurrentRowNum = 0 ;

}

Regards

Tarkeshwar

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Francisco Olarte 2019-10-30 17:29:12 Re: Upgrade procedure
Previous Message rihad 2019-10-30 16:59:39 Upgrade procedure