Funções PosgreSQL - func_pg
Publicado por Perfil removido 06/08/2007
[ Hits: 4.647 ]
Este é um fonte de funções de conexão, seleção e atualização em postgresql, com consistências de erro.
Ele usa uma função ast_log(), que foi escrita por mim e está publicada aqui sob o nome logger.
#include <string.h>
#include <stdlib.h>
#include <libpq-fe.h>
PGconn * db_conn(PGconn *con) {
   char msg[1024];
   char host[128],dbname[128],user[128],password[128];
   char con_param[256];
   read_pg_conf(host,dbname,user,password,"/usr/local/etc/agi3.conf{FONTE}");
   sprintf(con_param,"host=%s dbname=%s user=%s password=%s",host,dbname,user,password);
   con=PQconnectdb(con_param);
   if(PQstatus(con)!=CONNECTION_OK) {
      sprintf(msg,"func_pg.c: Error connection: %s\n",PQerrorMessage(con));
      agi_log(LOG_ERROR,msg);
      exit(1);
   }
   else return con;
}
PGresult * db_query(PGconn *con,char query[128])
{
   char msg[1024];
   PGresult *res;
   res=PQexec(con,query);
   if(PQresultStatus(res)!=PGRES_TUPLES_OK) {
      sprintf(msg,"func_pg.c: Query failed! %s",PQerrorMessage(con));
      agi_log(LOG_ERROR,msg);
      PQclear(res);
      PQfinish(con);
      exit(1);
   }
   else return res;
}
void db_update(PGconn *con,char query[128])
{
   char msg[1024];
   PGresult *res;
   res=PQexec(con,query);
   if(PQresultStatus(res)!=PGRES_COMMAND_OK) {
      printf(msg,"func_pg.c: Error with update!\n");
      agi_log(LOG_ERROR,msg);
   }
}
Matador de conexões MYSQL que estão dormindo há muito tempo
Construindo uma classe de conexão com banco de dados em C# utilizando design pattern Singleton
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (13)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (3)









