Portál AbcLinuxu, 16. července 2025 07:55
libpq-fe.h
. Postgres funguje normalne (testuji pres psql
). A pri kompilaci se vypise toto:
% gcc -I /usr/include/pgsql/ pgconn.c
/tmp/cckNk4we.o(.text+0x2a): In function `main':
pgconn.c: undefined reference to `PQconnectdb'
/tmp/cckNk4we.o(.text+0x3b):pgconn.c: undefined reference to `PQstatus'
/tmp/cckNk4we.o(.text+0x63):pgconn.c: undefined reference to `PQerrorMessage'
/tmp/cckNk4we.o(.text+0x85):pgconn.c: undefined reference to `PQfinish'
collect2: ld returned 1 exit status
%
a tohle je samotny program:
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
int main(void){
PGconn *conn;
const char *str = "dbname=test host=localhost user=mk";
conn = PQconnectdb(str);
if(PQstatus(conn) == CONNECTION_BAD){
printf("OK\n");
}else{
fprintf(stderr, "CHYBA: %s\n", PQerrorMessage(conn));
}
PQfinish(conn);
}
Cim by to mohlo byt? Dekuji
FATAL: Ident authentication failed for user "mk"
Retezec pro PQconnectdb
vypada takto:
host=localhost user=mk password=mk dbname=test
Pravdepodobne to nebude zalezitost Cecka, protoze to dela i pri psql
$ psql mk -Umk
psql: FATAL: Ident authentication failed for user "mk"
$
Prihlasovaci udaje jsou spravne, zkousel jsem si pro tento ucel vytvorit i testovaciho usera a dela to to same.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.