我正在使用\ ef编辑Postgres函数并更改了RETURN类型。没有意识到这是拯救它的禁忌。
mattswheels=# \ef fib
mattswheels-# \g
ERROR: cannot change return type of existing function
HINT: Use DROP FUNCTION fib(numeric) first.
我写了相当多的代码 - 有没有办法恢复它?我知道vim说它保存到某个地方的/ tmp文件夹但是我不确定路径。
答案 0 :(得分:2)
您可以从PostgreSQL日志中恢复失败的函数文本,因为它默认记录所有语法错误(包括编译函数的错误)。日志在$ PGDATA / pg_log中。尝试:
less `ls -t /var/lib/pgsql/*/data/pg_log/postgresql-*.log | head -n 1`