postgresql - 如何从 pl/pgsql 函数中调用 shell 命令?

标签 postgresql shell postgresql-8.3

我想做这样的事情,但是行不通...

CREATE FUNCTION kill(integer) RETURNS integer AS $$
DECLARE
    pid ALIAS FOR $2;
BEGIN
    -- Do some stuff here...

    return kill TERM, pid;
END;
$$ LANGUAGE plpgsql;

Postgresql 8.3

升级不是一个选项,抱歉...

最佳答案

你想杀什么?查询还是后端?如果只是查询,pg_cancel_backend()存在于 Postgresql 8.3 中。如果您确实需要执行 shell 命令,则需要使用一种“不受信任”的过程语言,如 plperlu 或 plpythonu 等。参见 http://www.postgresql.org/docs/8.3/static/plperl-trusted.html了解更多详情。

关于postgresql - 如何从 pl/pgsql 函数中调用 shell 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18278323/

相关文章:

shell - 在 Bash 中创建多行注释的方法?

c - Linux getenv() 无法获取 $PS1 或 $PS2

java - 为什么我的 shell 脚本的输出没有打印在控制台中?

postgresql - 删除 PostgreSQL 8.3 上一组行中的重复字母

sql - 在 PostgreSQL 8.3 中实现总订单排名

postgresql - SQL查询选择公共(public)IP地址

postgresql - 数据库分区的最佳大小

postgresql - Sequelize : Returning a single COUNT entry instead of every row in a nested include

arrays - 使用 PostgreSQL xpath 函数并从数组中获取第一个返回值

postgresql - 创建物化 View 时如何指示列不可为空?