我在为debian jessie工作
我已安装语言:

aptitude install postgresql-plpython3

然后:
% createlang plpython3u template1

然后:
% psql
postgres=# CREATE LANGUAGE plpython3u;

我试过这个功能:
Create or replace function test() returns void as $$
print('Bonjour le monde')
$$ language plpython3u;

我试图强迫数据库:
createlang plpython3u db_test

我收到消息,它已经安装好了,所以我不知道该怎么做??

最佳答案

不能使用print。使用sys.stderr代替,输出将登录到/var/log/postgresql/postgresql-X.X-main.log(用postgresql版本替换X.X)

Create or replace function test(text) returns void as $$
import sys
name = args[0]
sys.stderr.write('Bonjour {}\n'.format(name))
$$ language plpython3u;
select test('sardon');

关于postgresql - 语言plpython3u不允许,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33922749/

10-15 19:46