What happens if I create new threads from within a postgresql function?

From: Seref Arikan <serefarikan(at)kurumsalteknoloji(dot)com>
To: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: What happens if I create new threads from within a postgresql function?
Date: 2013-02-18 11:10:51
Message-ID: CA+4ThdrBq6euWx0MutAn4+Nw2wBADp7deHCfCV+oiQOj+f73dA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Greetings,
What would happen if I create multiple threads from within a postgresql
function written in C?
I have the opportunity to do parallel processing on binary data, and I need
to create multiple threads to do that.
If I can ensure that all my threads complete their work before I exit my
function, would this cause any trouble ?
I am aware of postgresql's single threaded nature when executing queries,
but is this a limitation for custom multi threaded code use in C based
functions?
I can't see any problems other than my custom spawn threads living beyond
my function's execution and memory/resource allocation issues, but if I can
handle them, should not I be safe?

I believe I've seen someone applying a similar principle to use GPUs with
postgresql, and I'm quite interested in giving this a try, unless I'm
missing something.

Best regards
Seref

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2013-02-18 14:36:04 Re: What happens if I create new threads from within a postgresql function?
Previous Message Thomas Kellerer 2013-02-18 08:17:07 Re: Visual query builder for PosgreSQL?