-- import python modules CREATE FUNCTION import_fail() returns text AS 'try: import foosocket except ImportError: return "failed as expected" return "succeeded, that wasn''t supposed to happen"' LANGUAGE plpython3u; CREATE FUNCTION import_succeed() returns text AS 'try: import array import bisect import calendar import cmath import errno import math import operator import random import re import string import time except Exception as ex: plpy.notice("import failed -- %s" % str(ex)) return "failed, that wasn''t supposed to happen" return "succeeded, as expected"' LANGUAGE plpython3u; CREATE FUNCTION import_test_one(p text) RETURNS text AS 'try: import hashlib digest = hashlib.sha1(p.encode("ascii")) except ImportError: import sha digest = sha.new(p) return digest.hexdigest()' LANGUAGE plpython3u; CREATE FUNCTION import_test_two(u users) RETURNS text AS 'plain = u["fname"] + u["lname"] try: import hashlib digest = hashlib.sha1(plain.encode("ascii")) except ImportError: import sha digest = sha.new(plain); return "sha hash of " + plain + " is " + digest.hexdigest()' LANGUAGE plpython3u; -- import python modules -- SELECT import_fail(); SELECT import_succeed(); -- test import and simple argument handling -- SELECT import_test_one('sha hash of this string'); -- test import and tuple argument handling -- select import_test_two(users) from users where fname = 'willem';