Re: SPI_connect

From: Francisco Olarte <folarte(at)peoplecall(dot)com>
To: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
Cc: Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: SPI_connect
Date: 2019-09-17 11:52:11
Message-ID: CA+bJJbzYC8g=gb4e0CVQNgij2SPGaHUicei5X9-FOCcLS4fM-A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Yessica:

On Tue, Sep 17, 2019 at 12:40 PM Yessica Brinkmann
<yessica(dot)brinkmann(at)gmail(dot)com> wrote:
> Cuando digo en un programa me refiero a un programa en lenguaje C que se conecta al servidor Postgresql.

Veamos, lenguaje aparte ( que aqui no importa, es el ABI simplemente
), no se si me he hecho entender.

SPI quiere decir Server Programming Interface. Se usa para programar
dentro del server, como si estuvieras haciendo las funciones en sql, o
pl-sql. Es decir, para codigo que esta ejecutando en el server, no
para "programas", que normalmente se usa para cosas que ejecutan FUERA
del server y se hacen con la libpq, p.e., en C. De hecho no conectas
con el servidor, la propia descripcion de la funcion dice "SPI_connect
opens a connection from a C function invocation to the SPI manager.
You must call this function if you want to execute commands through
SPI. Some utility SPI functions can be called from unconnected C
functions.", conectas con el manager, tienes que estar ya dentro del
servidor ( por eso la funcion no tiene ningun parametro que diga donde
esta el servidor ).

> Pasa que estoy haciendo unas modificaciones al Index Adviser de Gurget como tesis de la Universidad, y para eso es.
> El SPI_connect () se usa en dicho programa y funciona, para hacer un Insert. Yo estoy procurando de hacer Selects, pero supongo que debería funcionar igual.
> Realmente no entiendo por qué me aparecería el spi_error_connect

He intentado buscar el I.A. de G, en jujel sin exito. No se si es un
programa / coleccion de o es un conjunto de funciones que se carga.
Suponiendo que sea una extension, es raro que esa funcion de errores.
¿ Te has asegurado de que no llamas dos veces ? ¿ Has mirado el log
del servidor a ver si dice algo ?

Francisco Olarte.

> Saludos cordiales,
> Yessica
>
> El mar., 17 sept. 2019 6:08, Francisco Olarte <folarte(at)peoplecall(dot)com> escribió:
>>
>> Yessica:
>>
>> On Tue, Sep 17, 2019 at 11:39 AM Yessica Brinkmann
>> <yessica(dot)brinkmann(at)gmail(dot)com> wrote:
>> > Quisiera hacer una consulta al grupo por favor.
>> > Alguien ha usado SPI_connect() para conectarse a Postgresql desde un programa?
>> > Saben por si acaso en qué casos da error?
>> > Me está dando error spi_error_connect desde un programa en C y no comprendo exactamente a qué se pueden deber los errores.
>> > Disculpen la consulta pero es que hay muy poco información sobre el tema en Internet y muy pocos ejemplos. Prácticamente sólo está la documentación sobre el tema.
>>
>> Yo no la he usado, pero si que se que las SPI* son para ejecutar cosas
>> desde una extension cargada en el servidor, desde una funcion que
>> pones en una dll o similar y cargas en el servidor, como el postgis y
>> similares.
>>
>> Cuando dices "en un programa" te refieres a eso o te refieres a un
>> programa distinto, que se conecta al servidor ?
>>
>> Frnacisco Olarte.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yessica Brinkmann 2019-09-17 12:11:41 Re: SPI_connect
Previous Message Yessica Brinkmann 2019-09-17 10:57:50 Re: SPI_connect