【发布时间】:2015-11-09 14:08:54
【问题描述】:
我正在使用 PostgreSQL 9.x 在 Linux 系统(CentOS - RedHat - Fedora)上创建一个数据库集群(单个数据库)。我已经安装了正确的 PostgreSQL 包(服务器和客户端),但是,我无法创建数据库并获得某种类型的初始化依赖项错误:总线错误/退出代码 135。我已经用“su postgres”将我的用户更改为“postgres”,然后尝试用“initdb”初始化数据库(这可能是问题所在)
Installed: postgresql-libs-9.2.13-1.el7_1.x86_64
Installed: postgresql-9.2.13-1.el7_1.x86_64
Installed: postgresql-server-9.2.13-1.el7_1.x86_64
$ initdb -D /usr/local/pgsql/data
http://www.postgresql.org/docs/9.2/interactive/creating-cluster.html
错误:
$ initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
creating directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... sh: line 1: 12616 Bus error (core dumped) "/usr/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 > /dev/null
child process exited with exit code 135
有什么想法吗?
【问题讨论】:
-
这是硬盘坏了还是 postgresql 特有的问题?
-
您究竟是如何安装这些软件包的?什么命令行?包裹从哪里来?你到底在什么操作系统上?请编辑问题以显示
lsb_release -a输出和rpm -qi postgresql-92-server(将92替换为您的PostgreSQL 版本;如果不确定使用psql --version)。完成后在此处发表评论。 -
CentOS7 和 PostgreSQL 9.2 使用默认的 RedHat EL7 yum 安装。
-
当时似乎与硬件/平台有关。设置
ulimit -c unlimited然后重新运行initdb并调试它生成的核心文件可能会提供有用的信息。 -
postgres 以信号 7 终止,总线错误。 #0 dl_new_hash (s=0x43883b ) at dl-lookup.c:477 477 for (unsigned char c = *s; c != '\0'; c = *++s) 看起来我喜欢它试图索引一个越界的指针我应该从源代码安装 postgres 并获取最新版本吗?像这样的错误可能已经修复了。
标签: postgresql postgresql-9.2 centos7