
#if defined(POSTGRES_IN) || defined(MYPG_IN)

#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/socket.h>
#include<netinet/in_systm.h>
#include<netinet/in.h>
#include<netinet/ip.h>
#include<arpa/inet.h>
#include<stdlib.h>
#include<string.h>
#include<pthread.h>
#include<time.h>
#include<errno.h>

#include"zither.h"
#include<almemsys/almemsys.h>
#include"jpreturn.h"

#include<libpq-fe.h>
// extern PGconn * conn;
// extern PGresult * res;

extern global_data_t gd;


int psqlconnect(void)
{
int ret;
ret = 0;

gd.pg.conn = PQconnectdb(gd.pg.postgres_data);
switch(PQstatus(gd.pg.conn)){
   case CONNECTION_STARTED:
        fprintf(stderr, "psqlconnect(1): 接続確立待ち postgres.\n");
        break;
   case CONNECTION_MADE:
        fprintf(stderr, "psqlconnect(2): 接続OK送信待ち postgres.\n");
        break;
   case CONNECTION_AWAITING_RESPONSE:
        fprintf(stderr, "psqlconnect(3): サーバからの接続待ち postgres.\n");
        break;
   case CONNECTION_BAD:
        fprintf(stderr, "psqlconnect(4): 接続出来ない postgres.\n");
        fprintf(stderr, "psqlconnect(5): %s", PQerrorMessage(gd.pg.conn));
        PQfinish(gd.pg.conn);
        ret = -1;
        break;
   default:
        #ifdef POSTGRES_DEBUG
        fprintf(stderr, "POSTGRES_DEBUG: psqlconnect(6): 正常に接続できました postgres.\n");
        #endif
        ret = 1;
   }

return ret;
}



#endif



