Sql pg_散装货物错误:";致命:配置参数“无法识别”;“墙”级&引用;

Sql pg_散装货物错误:";致命:配置参数“无法识别”;“墙”级&引用;,sql,postgresql,Sql,Postgresql,我想试试pg_bulkload 当我尝试使用它提供的postgresql可执行文件时,出现以下错误: /usr/local/src/pg_bulkload-3.0.1/bin> ./postgresql start -D /pg_data server starting /usr/local/src/pg_bulkload-3.0.1/bin> FATAL: unrecognized configuration parameter "wal_level" 当有人使用9.0版本的p

我想试试
pg_bulkload

当我尝试使用它提供的postgresql可执行文件时,出现以下错误:

/usr/local/src/pg_bulkload-3.0.1/bin> ./postgresql start -D /pg_data
server starting
/usr/local/src/pg_bulkload-3.0.1/bin>
FATAL:  unrecognized configuration parameter "wal_level"

当有人使用9.0版本的psql在Postgres 8.4实例上运行脚本时,Google发现了与此错误完全匹配的错误。我不明白这与我的情况有什么关系——我有两个版本的Postgres,但我确信我指向的是正确的目录。。。任何想法都是非常受欢迎的。

从文档中我可以看出,PostgreSQL 9.x支持名为“wal_level”的配置参数,但8.4版不支持。我的9.0.something服务器的postgresql.conf文件具有该参数;我的8.4服务器的一个没有


您的错误消息表明您正在运行版本8.4,但它正在读取9.x服务器的配置文件。检查postgresql.conf和安装过程。我认为pg_bulkload可能以您意想不到的方式“帮助”了您。

从文档中可以看出,PostgreSQL 9.x支持名为“wal_level”的配置参数,但8.4版不支持。我的9.0.something服务器的postgresql.conf文件具有该参数;我的8.4服务器的一个没有


您的错误消息表明您正在运行版本8.4,但它正在读取9.x服务器的配置文件。检查postgresql.conf和安装过程。我认为pg_bulkload可能会以您意想不到的方式“帮助”您。

我认为,如果您的计算机上安装了多个版本的PostgreSQL,那么将pg_bulkload安装到正确的位置可能会有点棘手。我的第一个问题是pg_bulkload(版本3.1.6)找不到pg_端口库。我将libpgport.a库(一个静态库)复制到了找到它的/usr/local/lib中,但不建议使用这种方法,因为这只是一个最终不起作用的快速修复方法。因此,很快就出现了另一个问题:“对'pstrdup'的未定义引用”。我认为在pg_bulkload中应该有可能指出PostgreSQL的安装位置。嗯,我在pg_bulkload-3.1.6/bin中更改了pg_bulkload的Makefile,即与pg_LIBS的行:pg_LIBS=$(libpq)-L/您的PostgreSQL/PostgreSQL/pgsql/lib-lpgport-lpgcomon的当前位置-必须在-lpgcommon之前添加lpgport。最后但并非最不重要的一点是,要编译和安装pg_bulkload,您应该修改路径:PATH=/PostgreSQL/PostgreSQL/pgsql/bin:$PATH使用_PGXS=1[install];这可以确保您的pg_bulkload将添加到正确版本的PostgreSQL(在我的例子中是9.3)。享受吧

我认为,如果您的机器上安装了多个版本的PostgreSQL,那么将pg_bulkload安装到正确的位置可能有点棘手。我的第一个问题是pg_bulkload(版本3.1.6)找不到pg_端口库。我将libpgport.a库(一个静态库)复制到了找到它的/usr/local/lib中,但不建议使用这种方法,因为这只是一个最终不起作用的快速修复方法。因此,很快就出现了另一个问题:“对'pstrdup'的未定义引用”。我认为在pg_bulkload中应该有可能指出PostgreSQL的安装位置。嗯,我在pg_bulkload-3.1.6/bin中更改了pg_bulkload的Makefile,即与pg_LIBS的行:pg_LIBS=$(libpq)-L/您的PostgreSQL/PostgreSQL/pgsql/lib-lpgport-lpgcomon的当前位置-必须在-lpgcommon之前添加lpgport。最后但并非最不重要的一点是,要编译和安装pg_bulkload,您应该修改路径:PATH=/PostgreSQL/PostgreSQL/pgsql/bin:$PATH使用_PGXS=1[install];这可以确保您的pg_bulkload将添加到正确版本的PostgreSQL(在我的例子中是9.3)。享受吧

啊,我想你是对的,@Catcall——这是我最初的预感,但我不确定它是如何找到非9.x可执行文件的。答案很简单,我的postgresql指向8.4.4。这里有一个-p/path/to/postgresql参数——我还没有机会尝试这样做,但我会这样做,并且会回来报告。鉴于上述观察,我认为你的答案是正确的。感谢您帮助一位Unix/DBA新手!啊,我想你是对的,@Catcall——这是我最初的预感,但我不确定它是如何找到非9.x可执行文件的。答案很简单,我的postgresql指向8.4.4。这里有一个-p/path/to/postgresql参数——我还没有机会尝试这样做,但我会这样做,并且会回来报告。鉴于上述观察,我认为你的答案是正确的。感谢您帮助一位Unix/DBA新手!