\set ECHO none -- You should write your tests SELECT jsonrpc.execute('{"id":1, "method":"test"}'); execute ---------------------------------------------------------------------------------------------- {"id" : "1", "jsonrpc" : "2.0", "error" : {"code" : -32601, "message" : "Method not found"}} (1 row) SELECT jsonrpc.execute('{"jsonrpc": "2.0", "id":1, "method":"echo", "params": {"message": "Hello jsonrpc!"}}'); execute -------------------------------------------------------------- {"id" : "1", "jsonrpc" : "2.0", "result" : "Hello jsonrpc!"} (1 row) INSERT INTO jsonrpc.methods(name, description, function_name) VALUES('echotest', 'Echoes the parameter passed to echo.', 'jsonrpc.echo'); SELECT jsonrpc.execute('{"jsonrpc": "2.0", "id":1, "method":"echotest", "params": {"message": "Hello jsonrpc!"}}'); execute -------------------------------------------------------------- {"id" : "1", "jsonrpc" : "2.0", "result" : "Hello jsonrpc!"} (1 row) ROLLBACK;