1/* contrib/pgcrypto/pgcrypto--1.3.sql */ 2 3-- complain if script is sourced in psql, rather than via CREATE EXTENSION 4\echo Use "CREATE EXTENSION pgcrypto" to load this file. \quit 5 6CREATE FUNCTION digest(text, text) 7RETURNS bytea 8AS 'MODULE_PATHNAME', 'pg_digest' 9LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 10 11CREATE FUNCTION digest(bytea, text) 12RETURNS bytea 13AS 'MODULE_PATHNAME', 'pg_digest' 14LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 15 16CREATE FUNCTION hmac(text, text, text) 17RETURNS bytea 18AS 'MODULE_PATHNAME', 'pg_hmac' 19LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 20 21CREATE FUNCTION hmac(bytea, bytea, text) 22RETURNS bytea 23AS 'MODULE_PATHNAME', 'pg_hmac' 24LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 25 26CREATE FUNCTION crypt(text, text) 27RETURNS text 28AS 'MODULE_PATHNAME', 'pg_crypt' 29LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 30 31CREATE FUNCTION gen_salt(text) 32RETURNS text 33AS 'MODULE_PATHNAME', 'pg_gen_salt' 34LANGUAGE C VOLATILE STRICT PARALLEL SAFE; 35 36CREATE FUNCTION gen_salt(text, int4) 37RETURNS text 38AS 'MODULE_PATHNAME', 'pg_gen_salt_rounds' 39LANGUAGE C VOLATILE STRICT PARALLEL SAFE; 40 41CREATE FUNCTION encrypt(bytea, bytea, text) 42RETURNS bytea 43AS 'MODULE_PATHNAME', 'pg_encrypt' 44LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 45 46CREATE FUNCTION decrypt(bytea, bytea, text) 47RETURNS bytea 48AS 'MODULE_PATHNAME', 'pg_decrypt' 49LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 50 51CREATE FUNCTION encrypt_iv(bytea, bytea, bytea, text) 52RETURNS bytea 53AS 'MODULE_PATHNAME', 'pg_encrypt_iv' 54LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 55 56CREATE FUNCTION decrypt_iv(bytea, bytea, bytea, text) 57RETURNS bytea 58AS 'MODULE_PATHNAME', 'pg_decrypt_iv' 59LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 60 61CREATE FUNCTION gen_random_bytes(int4) 62RETURNS bytea 63AS 'MODULE_PATHNAME', 'pg_random_bytes' 64LANGUAGE C VOLATILE STRICT PARALLEL SAFE; 65 66CREATE FUNCTION gen_random_uuid() 67RETURNS uuid 68AS 'MODULE_PATHNAME', 'pg_random_uuid' 69LANGUAGE C VOLATILE PARALLEL SAFE; 70 71-- 72-- pgp_sym_encrypt(data, key) 73-- 74CREATE FUNCTION pgp_sym_encrypt(text, text) 75RETURNS bytea 76AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_text' 77LANGUAGE C STRICT PARALLEL SAFE; 78 79CREATE FUNCTION pgp_sym_encrypt_bytea(bytea, text) 80RETURNS bytea 81AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_bytea' 82LANGUAGE C STRICT PARALLEL SAFE; 83 84-- 85-- pgp_sym_encrypt(data, key, args) 86-- 87CREATE FUNCTION pgp_sym_encrypt(text, text, text) 88RETURNS bytea 89AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_text' 90LANGUAGE C STRICT PARALLEL SAFE; 91 92CREATE FUNCTION pgp_sym_encrypt_bytea(bytea, text, text) 93RETURNS bytea 94AS 'MODULE_PATHNAME', 'pgp_sym_encrypt_bytea' 95LANGUAGE C STRICT PARALLEL SAFE; 96 97-- 98-- pgp_sym_decrypt(data, key) 99-- 100CREATE FUNCTION pgp_sym_decrypt(bytea, text) 101RETURNS text 102AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_text' 103LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 104 105CREATE FUNCTION pgp_sym_decrypt_bytea(bytea, text) 106RETURNS bytea 107AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_bytea' 108LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 109 110-- 111-- pgp_sym_decrypt(data, key, args) 112-- 113CREATE FUNCTION pgp_sym_decrypt(bytea, text, text) 114RETURNS text 115AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_text' 116LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 117 118CREATE FUNCTION pgp_sym_decrypt_bytea(bytea, text, text) 119RETURNS bytea 120AS 'MODULE_PATHNAME', 'pgp_sym_decrypt_bytea' 121LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 122 123-- 124-- pgp_pub_encrypt(data, key) 125-- 126CREATE FUNCTION pgp_pub_encrypt(text, bytea) 127RETURNS bytea 128AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_text' 129LANGUAGE C STRICT PARALLEL SAFE; 130 131CREATE FUNCTION pgp_pub_encrypt_bytea(bytea, bytea) 132RETURNS bytea 133AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_bytea' 134LANGUAGE C STRICT PARALLEL SAFE; 135 136-- 137-- pgp_pub_encrypt(data, key, args) 138-- 139CREATE FUNCTION pgp_pub_encrypt(text, bytea, text) 140RETURNS bytea 141AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_text' 142LANGUAGE C STRICT PARALLEL SAFE; 143 144CREATE FUNCTION pgp_pub_encrypt_bytea(bytea, bytea, text) 145RETURNS bytea 146AS 'MODULE_PATHNAME', 'pgp_pub_encrypt_bytea' 147LANGUAGE C STRICT PARALLEL SAFE; 148 149-- 150-- pgp_pub_decrypt(data, key) 151-- 152CREATE FUNCTION pgp_pub_decrypt(bytea, bytea) 153RETURNS text 154AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text' 155LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 156 157CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea) 158RETURNS bytea 159AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea' 160LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 161 162-- 163-- pgp_pub_decrypt(data, key, psw) 164-- 165CREATE FUNCTION pgp_pub_decrypt(bytea, bytea, text) 166RETURNS text 167AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text' 168LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 169 170CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text) 171RETURNS bytea 172AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea' 173LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 174 175-- 176-- pgp_pub_decrypt(data, key, psw, arg) 177-- 178CREATE FUNCTION pgp_pub_decrypt(bytea, bytea, text, text) 179RETURNS text 180AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_text' 181LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 182 183CREATE FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text, text) 184RETURNS bytea 185AS 'MODULE_PATHNAME', 'pgp_pub_decrypt_bytea' 186LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 187 188-- 189-- PGP key ID 190-- 191CREATE FUNCTION pgp_key_id(bytea) 192RETURNS text 193AS 'MODULE_PATHNAME', 'pgp_key_id_w' 194LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 195 196-- 197-- pgp armor 198-- 199CREATE FUNCTION armor(bytea) 200RETURNS text 201AS 'MODULE_PATHNAME', 'pg_armor' 202LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 203 204CREATE FUNCTION armor(bytea, text[], text[]) 205RETURNS text 206AS 'MODULE_PATHNAME', 'pg_armor' 207LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 208 209CREATE FUNCTION dearmor(text) 210RETURNS bytea 211AS 'MODULE_PATHNAME', 'pg_dearmor' 212LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 213 214CREATE FUNCTION pgp_armor_headers(text, key OUT text, value OUT text) 215RETURNS SETOF record 216AS 'MODULE_PATHNAME', 'pgp_armor_headers' 217LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 218