PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 38. PL/Python - �������� | Fast Forward | Next |
PL/Python ����ģ���Զ�����һ���� plpy �� Python ģ�顣�����ģ����ĺ����ͳ������������ Python �������� plpy.foo �����ֻ�á� Ŀǰ��plpy ʵ���˺��� plpy.debug(msg)�� plpy.log(msg)�� plpy.info(msg)�� plpy.notice(msg)�� plpy.warning(msg)�� plpy.error(msg)���� plpy.fatal(msg)�� plpy.error �� plpy.fatal ʵ�����׳�һ�� Python ���⣬�����û�в���������⣬�ᴫ�������õIJ�ѯ�� ���µ�ǰ��������������˳��� raise plpy.ERROR(msg) �� raise plpy.FATAL(msg) �ֱ��Ч�ڵ��� plpy.error �� plpy.fatal�� ��������ֻ���ɲ�ͬ���ȼ�����Ϣ���ض����ȼ�����Ϣ�ǻ㱨���ͻ��ˣ� д����������־���������¶��������� log_min_messages �� client_min_messages ���ò������Ƶġ� ���� Section 16.4 ��ȡ������Ϣ��
���⣬plpy ģ���ṩ������������ execute �� prepare�� ��һ����ѯ�ִ���һ����ѡ�����Ʋ������� plpy.execute �������иò�ѯ�����ҽ�����ص�һ���������� ����������һ���б����һ���ֵ���� ����������ͨ���кź��ֶ��������ʡ�����������Щ����ķ����� nrows() ���ظò�ѯ���ص������� �� status �� SPI_execute() �ķ��ر��������������ܱ��ġ�
���磺
rv = plpy.execute("SELECT * FROM my_table", 5)
��������my_table����� 5 �С����my_table��һ��my_column�ֶΣ� ��ô�����������ķ���������
foo = rv[i]["my_column"]
�ڶ���������plpy.prepare��Ϊһ����ѯ����ѯ�滮�� ���Ǵ�һ����ѯ�ִ���һ�����������б�������ڸò�ѯ�������ñ��������õģ� ���磺
plan = plpy.prepare("SELECT last_name FROM my_users WHERE first_name = $1", [ "text" ])
text���㽫��Ϊ$1���ݵı��������͡� ����һ�����֮�����ú��� plpy.execute ��������
rv = plpy.execute(plan, [ "name" ], 5)
���������������ƣ��ǿ�ѡ�ġ�
������ PL/Python ģ����һ���ƻ���ʱ�üƻ����Զ�����ġ� ���Ķ� SPI �ĵ���Chapter 39����ȡ��仰�ĺ��塣 Ϊ���ܿ纯��������Ч��ʹ������ص㣬������Ҫʹ�����ô洢�ֵ� SD �� GD ֮һ�������� Section 38.1�������磺
CREATE FUNCTION usesavedplan ( ) RETURNS trigger AS $$ if SD.has_key("plan"): plan = SD["plan"] else: plan = plpy.prepare("SELECT 1") SD["plan"] = plan # rest of function $$ LANGUAGE plpython;