4 ms·
I mean, why though? I haven't played around much with other languages within Postgres, and mainly stick to pl/pgsql, so real question. Is it performance relate
by Tostino 6y ago
I mean, why though? I haven't played around much with other languages within Postgres, and mainly stick to pl/pgsql, so real question.
Is it performance related? Not requiring another language to be installed?
- scrollaway 6y agoYes and yes; all other things equal, performance will be a lot worse when using Python. And you'll need Python installed.
- aidos 6y agoMaybe this is the case in general, but a while back we did something that required flipping an array and when we did it with python inside Postgres it was several magnitudes faster.
- scrollaway 6y agoThis would make for a super interesting blog post / case study IMO, you should write about it even if it's just to showcase the two algorithms / comparisons.
- aidos 6y agoSorry, but late back but I’ve just found the code. It’s a bit of a weird case where I needed to reverse arrays inside a big json blob (millions of big json blobs). Trying to explode the structures out and rebuild them was a bit of a no-go. Instead I did a nasty little regex replace on the json string: re.sub('"key": \[([^\\]]+)\]', lambda match: '"key": [' + ', '.join(reversed(match.group(1).split(', '))) + "]", els) There might be a way of doing this in postgres these days (this was 3 or 4 years ago), but I'm not sure. At the time this was the best I could come up with and I was pretty surprised it worked as well as it did. Since then I've always installed the python extension whenever I set up a new postgres, just in case.
- pyramation 6y agofor sure there are all sorts of postgres regex tools... You can likely do everything. The main limitations I found in plpgsql were in base encodings (that were missing), which is why I had to implement base32 from scratch. Besides that, it's pretty much a super powerful language