Sep
14
[原]解决Postgresql初始化问题
项目需要部署Open Country,其要求使用Postgresql 7.0或8.0版本。系统为红旗DC 5.0 for x86,默认安装有Postgresql 8.0。
启动时候出现下面的故障提示:
查看/etc/init.d/postgresql文件,尝试手动初始化数据库:
故障应该和系统的locale设定有关,使用下面的命令解决:
退出到root用户,重新运行服务:
一切正常。问题解决!
启动时候出现下面的故障提示:
引用
# service postgresql start
正在初始化数据库: [失败]
启动 postgresql 服务: [失败]
正在初始化数据库: [失败]
启动 postgresql 服务: [失败]
查看/etc/init.d/postgresql文件,尝试手动初始化数据库:
引用
[root@localhost ~]# su - postgres
-bash-3.00$ initdb
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将带有 locale zh_CN.GB18030 初始化.
initdb: 无法为 locale "zh_CN.GB18030" 找到合适的编码
带 -E 选项重新运行 initdb.
请用 "initdb --help" 获取更多的信息.
-bash-3.00$ initdb
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将带有 locale zh_CN.GB18030 初始化.
initdb: 无法为 locale "zh_CN.GB18030" 找到合适的编码
带 -E 选项重新运行 initdb.
请用 "initdb --help" 获取更多的信息.
故障应该和系统的locale设定有关,使用下面的命令解决:
引用
-bash-3.00$ initdb --no-locale
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将带有 locale C 初始化.
修复已存在目录 /var/lib/pgsql/data 的权限 ... 成功
创建目录 /var/lib/pgsql/data/global ... 成功
创建目录 /var/lib/pgsql/data/pg_xlog ... 成功
创建目录 /var/lib/pgsql/data/pg_xlog/archive_status ... 成功
创建目录 /var/lib/pgsql/data/pg_clog ... 成功
创建目录 /var/lib/pgsql/data/pg_subtrans ... 成功
创建目录 /var/lib/pgsql/data/base ... 成功
创建目录 /var/lib/pgsql/data/base/1 ... 成功
创建目录 /var/lib/pgsql/data/pg_tblspc ... 成功
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 1000
创建配置文件 ... 成功
在 /var/lib/pgsql/data/base/1 中创建 template1 数据库 ... 成功
初始化 pg_shadow ... 成功
启动不限制系统表行大小 ... 成功
初始化 pg_depend ... 成功
创建系统视图 ... 成功
加载 pg_description ... 成功
创建字符集转换 ... 成功
对内建对象设置权限 ... 成功
创建信息模式 ... 成功
清理数据库 template1 ... 成功
拷贝 template1 到 template0 ... 成功
警告: 为本地连接启动了 "trust" 认证.
你可以通过编辑 pg_hba.conf 更改或你下
次运行 initdb 时使用 -A 选项.
成功. 您现在可以用下面的命令运行数据库服务器:
postmaster -D /var/lib/pgsql/data
或者
pg_ctl -D /var/lib/pgsql/data -l logfile start
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将带有 locale C 初始化.
修复已存在目录 /var/lib/pgsql/data 的权限 ... 成功
创建目录 /var/lib/pgsql/data/global ... 成功
创建目录 /var/lib/pgsql/data/pg_xlog ... 成功
创建目录 /var/lib/pgsql/data/pg_xlog/archive_status ... 成功
创建目录 /var/lib/pgsql/data/pg_clog ... 成功
创建目录 /var/lib/pgsql/data/pg_subtrans ... 成功
创建目录 /var/lib/pgsql/data/base ... 成功
创建目录 /var/lib/pgsql/data/base/1 ... 成功
创建目录 /var/lib/pgsql/data/pg_tblspc ... 成功
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 1000
创建配置文件 ... 成功
在 /var/lib/pgsql/data/base/1 中创建 template1 数据库 ... 成功
初始化 pg_shadow ... 成功
启动不限制系统表行大小 ... 成功
初始化 pg_depend ... 成功
创建系统视图 ... 成功
加载 pg_description ... 成功
创建字符集转换 ... 成功
对内建对象设置权限 ... 成功
创建信息模式 ... 成功
清理数据库 template1 ... 成功
拷贝 template1 到 template0 ... 成功
警告: 为本地连接启动了 "trust" 认证.
你可以通过编辑 pg_hba.conf 更改或你下
次运行 initdb 时使用 -A 选项.
成功. 您现在可以用下面的命令运行数据库服务器:
postmaster -D /var/lib/pgsql/data
或者
pg_ctl -D /var/lib/pgsql/data -l logfile start
退出到root用户,重新运行服务:
引用
[root@localhost ~]# service postgresql start
启动 postgresql 服务: [ 确定 ]
启动 postgresql 服务: [ 确定 ]
一切正常。问题解决!