---
name: "PQgeterror"
section: "3"
platform: "linux"
package: "libpqtypes-dev"
version: "1.5.1-9"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/PQgeterror"
---

# PQgeterror(3)

libpqtypes error system management functions

## NAME

PQgeterror, PQseterror, PQgetErrorField - libpqtypes error system management functions

## SYNOPSIS

**#include \<libpqtypes.h\>**\

**char \*PQgeterror(void);**\
 **void PQseterror(const char \****format***, ...);**\
 **char \*PQgetErrorField(int** *fieldcode***);**

## DESCRIPTION

*The libpqtypes library maintains a per-thread global error message.  The error* *message is managed by PQgeterror() and PQseterror().*

*PQseterror() takes a regular printf compatible format string for* *setting the libpqtypes error message.*

*PQgetErrorField() gets an error field from the last executed query.* *The error field is only set by PQparamExec and PQparamExecPrepared.  When* *using libpq functions that return results, like PQexec, continue to use* *PQresultErrorField.*

*To clear the libpqtypes error message, call PQseterror() with a NULL* *format string: PQseterror(NULL);  This will also clear error fields.*

## RETURN VALUE

*PQgeterror() returns the last error message for the calling thread.  It will* *never return NULL.*

*PQgetErrorField() returns the error field, referenced by fieldcode, for* *the last executed query.  NULL is returned if no value exists.*

## EXAMPLES

*None.*

## AUTHOR

*A contribution of eSilo, LLC. for the PostgreSQL Database Management System.* *Written by Andrew Chernow and Merlin Moncure.*

## REPORTING BUGS

*Report bugs to \<libpqtypes@esilo.com\>.*

## COPYRIGHT

*Copyright (c) 2011 eSilo, LLC. All rights reserved.*\
 *This is free software; see the source for copying conditions.* *There is NO warranty; not even for MERCHANTABILITY or  FITNESS* *FOR A PARTICULAR PURPOSE.*

## SEE ALSO

*[pqt-specs(3)](/pqt-specs/3.md)*
