On 23 August 2015 at 18:59, Igor Sosa Mayor <joseleopoldo1792@xxxxxxxxx> wrote:
s d <daku.sandor@xxxxxxxxx> writes:
> It might be a dumb thought, but...
thanks. There are not dumb thoughts with such problems...
> Did you run the script from ipython as postgres user?
> External programs called by triggers run as postgres, and maybe your
> postgres user doesn't have rights to reach the remote service.
i don't understand exactly (it is the 1. time I write a procedure even
in PG). It is so:
1. I run ipython as my user (igor);
2. I run postgres both as user and as postgres. In both cases the same
error. PG does not run ipython, because ipython is just a console for
python. PG should only run python (2 or 3).
IN any case, important is your last thought... I dont see in the doc of
PG in the chapter of rules and privileges nothing about privileges to
make internet connections...
Ok. You run IPython, as Igor, so your script runs in it as the user igor, with igor's permissions.
When you run the same script from PG it runs as the OS user postgres(regardless of which PG user fired it), with the permissions of the OS user postgres.
And maybe, just maybe the postgres user can't get trough your firewall, iptables rule, or something.
By the way: What OS do you use?
If it's possible try to log into your OS as postgres, start IPython and run your script. If it fails we have a suspect.
Regards,
Sandor