Skip to Content
Mastering PostgreSQL 9.6
book

Mastering PostgreSQL 9.6

by Hans-Jürgen Schönig
May 2017
Beginner
416 pages
10h 37m
English
Packt Publishing
Content preview from Mastering PostgreSQL 9.6

Handling errors

Once in a while, you might have to catch an error. Of course, this is also possible in Python. The following example shows how this works:

CREATE OR REPLACE FUNCTION trial_error()         RETURNS text AS $$     try:         rv = plpy.execute("SELECT surely_a_syntax_error")     except plpy.SPIError:         return "we caught the error"     else:         return "all fine" $$ LANGUAGE 'plpythonu'; 

You can use a normal try/except block and access plpy to treat the error you want to catch. The function can then return normally without destroying your transaction:

test=# SELECT trial_error();      trial_error      ---------------------  we caught the error (1 row) 

Remember, PL/Python has full access to the internals of PostgreSQL. Therefore, it can also expose all kinds ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

PostgreSQL 13 Cookbook

PostgreSQL 13 Cookbook

Vallarapu Naga Avinash Kumar
PostgreSQL Development Essentials

PostgreSQL Development Essentials

Manpreet Kaur, Baji Shaik

Publisher Resources

ISBN: 9781783555352