在pgAdmin4中创建C语言函数:Object File与Link Symbol填写疑问
pgAdmin4创建C语言函数:Object File与Link Symbol填写指南
字段含义与填写规范
Object File
- 必须填PostgreSQL服务器能访问的绝对路径,不能用本地客户端路径(比如你在Windows上操作远程Linux服务器,要填Linux系统内的路径)
- 路径指向的是用PostgreSQL指定编译参数生成的
.o目标文件,编译命令示例:gcc -Wall -O2 -fPIC -I$(pg_config --includedir-server) -c your_func.c -o your_func.o - 要确保PostgreSQL进程用户(通常是
postgres)对该文件有读取权限
Link Symbol
- 填写你C源码中定义的函数名,比如源码里写了:
这里就填Datum my_c_function(PG_FUNCTION_ARGS) { // 函数逻辑 } PG_FUNCTION_INFO_V1(my_c_function);my_c_function,必须和源码里的标识符完全一致
解决「PgAdmin Object File cannot be empty」报错
- 检查路径是否为绝对路径,相对路径会被系统判定为空
- 确认目标文件确实存在于指定路径,且权限符合要求
- 若连接的是远程服务器,不要填本地机器的文件路径,需将编译好的
.o文件上传到服务器对应目录
内容的提问来源于stack exchange,提问作者Samuel Rodriguez
相关产品推荐
相关产品推荐

