1

我正在尝试测试一个小型 PostgreSQL 设置,所以我拼凑了一个快速的本地安装。但是,当我尝试使用 createdb 创建我的个人数据库时,它会因此类错误而窒息(特别是,它第一次从 base/16384 开始,每次运行时都会递增)。任何人都知道这里发生了什么,或者是否有一些我错过的琐碎配置会导致这种情况?谢谢,这有点时间紧迫,所以如果您知道任何事情,请回复。谢谢!

更新:
我在 CentOS 5 服务器上运行它,抱歉我没有太多详细信息(它是该服务器上的共享帐户)。uname -a 有以下输出:

Linux {OMITTED} 2.6.18-194.11.4.el5 #1 SMP Tue Sep 21 05:04:09 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

我从以下来源安装了 PostgreSQL:

http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v9.0.1/postgresql-9.0.1.tar.bz2

在我的主目录中构建并安装到 prefix=$HOME/local/pgsql。

这是我尝试在新数据设置上创建用户数据库的终端读数:

[htung@{OMITTED}:~]$ killall postgres
LOG: autovacuum 启动器正在关闭
LOG: 收到智能关闭请求
LOG: 正在关闭
LOG: 数据库系统已关闭
[htung@{OMITTED}:~]$ rm -r tmp
mk [1]+ 完成 ../local/pgsql/bin/postgres -D $HOME/tmp (wd: ~/tmp)
(wd now: ~)
[htung@{OMITTED}:~]$ mkdir tmp
[htung@{省略}:~]$ local/pgsql/bin/initdb -D $HOME/tmp
属于这个数据库系统的文件将归用户“htung”所有。
该用户还必须拥有服务器进程。

数据库集群将使用语言环境 en_US.UTF-8 进行初始化。
因此,默认数据库编码已设置为 UTF8。
默认文本搜索配置将设置为“英语”。

修复现有目录 /afs/{OMITTED}/htung/tmp 的权限 ... ok
创建子目录 ... ok
选择默认 max_connections ... 100
选择默认 shared_buffers ... 32MB
创建配置文件 ... ok
创建 template1 数据库/afs/{OMITTED}/htung/tmp/base/1 ... ok
初始化 pg_authid ... ok
初始化依赖关系 ... ok
创建系统视图 ... ok
加载系统对象的描述 ... ok
创建转换 .. . ok
创建字典 ... ok
设置内置对象的权限 ... ok
创建信息模式 ... ok
加载 PL/pgSQL 服务器端语言 ... ok
清理数据库模板1 ... ok
将模板 1 复制到模板 0 ... 好的
将模板 1 复制到 postgres ... 好的

警告:为本地连接启用“信任”身份验证您可以通过编辑 pg_hba.conf 或在 下次运行 initdb 时
使用 -A 选项来更改此设置。

成功。您现在可以使用以下命令启动数据库服务器:

local/pgsql/bin/postgres -D /afs/{OMITTED}/htung/tmp  


local/pgsql/bin/pg_ctl -D /afs/{OMITTED}/htung/tmp -l logfile start

[htung@{OMITTED}:~]$ local/pgsql/bin/postgres -D $HOME/tmp
LOG: 数据库系统于 2010-11-15 13:47:25 PST
LOG: autovacuum launcher 启动
LOG: database系统已准备好接受连接

[1]+ 停止 local/pgsql/bin/postgres -D $HOME/tmp
[htung@{OMITTED}:~]$ bg
[1]+ local/pgsql/bin/postgres -D $HOME/tmp &
[htung@ {OMITTED}:~]$ local/pgsql/bin/createdb
错误:无法 fsync 文件“base/16384”:无效参数
声明:CREATE DATABASE htung;

createdb:数据库创建失败:错误:无法 fsync 文件“base/16384”:无效参数
[htung@{OMITTED}:~]$

4

1 回答 1

0

我猜你可能在这里遇到了 SE linux 系统。我建议关闭 SELinux 并查看它是否有效,或者从 postgresql 网站上提供的 RPM 安装。

于 2010-11-15T23:45:52.313 回答