EnterpriseDB安装和使用问题记录

1.sudo ./ppasmeta-9.2.1.3-linux-x64.run   提示:   command not found

ls -l后发现用户无执行权限

增加执行权限:chmod +x ppasmeta-9.2.1.3-linux-x64.run

2.选择语言后提示:

Error: There has been an error.

Please put SELinux in permissive mode and then run installer again. SELinux can

be put in enforcing mode again after installation.

Press [Enter] to continue :

需要临时关闭SELinux

setenforce 0                  ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

3.所有的指令,比如pg_ctrl提示:

-bash:pg_ctrl: command not found

这样的指令必须加上路径,即使是在当前目录下,也要用./pg_ctl

可以设置环境变量解决:

export PATH=/opt/PostgresPlus/9.2AS/bin:$PATH

4.pg_ctl等指令提示:

pg_ctl: no database directory specified and environment variable PGDATA unset

需要设置环境变量:

export PGDATA=/opt/PostgresPlus/9.2AS/data

5.完成安装后,远程连接数据库出现问题:执行请求的操作时遇到错误:IO 错误: Got minus one from a read call

网上查的,打算修改一下opt/PostgresPlus/9.2AS/data|pg_hba.conf配置文件,可是当前用户没有权限

打算切换到enterprisedb用户,发现忘了密码了

用passwd指令修改密码,登陆成功

pg_hba.conf文件增加行:host    all         all                   trust

用pg_ctl restart重启数据库

另外:

修改服务端data/postgresql.conf文件,将

  1. #listen_address='localhost'改成  
  2. listen_addresses = '*'

6.restart失败,无法关闭数据库

按提示,增加参数:pg_ctl restart -m fast

7.重启失败,start也失败,提示

2014-10-12 00:06:56 CST 致命错误:  组或其他用户都可以访问数据目录 "/opt/PostgresPlus/9.2AS/data"

2014-10-12 00:06:56 CST 详细信息:  权限应该为 u=rwx (0700).

修改权限:

chmod 0700 data

8.启动报错:

2014-10-12 00:22:33 CST 日志:  已加载的库 "$libdir/dbms_pipe"

2014-10-12 00:22:33 CST 日志:  已加载的库 "$libdir/edb_gen"

2014-10-12 00:22:33 CST 日志:  无法创建 IPv6 套接字: 协议不支持的地址族

开始以为是IPv6的问题,后来根据后面的提示,查看日志:

2014-10-12 01:39:15 CST 日志:  无效认证方法"127.0.0.1/32"

2014-10-12 01:39:15 CST 上下文:  配置文件"/opt/PostgresPlus/9.2AS/data/pg_hba.conf"的第82行

2014-10-12 01:39:15 CST 致命错误:  无法加载pg_hba.conf

是pg_hba.conf的问题,经检查是5中配置错误,将配置改为:

host    all             all     0.0.0.0/0               md5

启动成功

9.登陆报错:

-bash-4.1$ psql

Password:

psql: 致命错误:  用户 "enterprisedb" Password 认证失败

host    all             all     0.0.0.0/0               md5

改为

host    all             all     0.0.0.0/0               trust

允许用户名密码认证

本来还想本地用用户名密码登陆,但是把

local   all             all                                     md5

改为

local   all             all                     trust

后,登陆提示:psql: 致命错误:  数据库 "enterprisedb" 不存在

10.接上回,输入psql提示enterprisedb不存在

直接输入psql的话,会默认寻找和当前用户名一致的数据库名,但是没有这个数据库

应该输入:psql template1

成功:

template1=#

进入后:create database enterprisedb

或者不进入数据库,用createdb指令

然后再次psql就能直接进入enterprisedb了

查看现有数据库:

enterprisedb=# select oid,datname from pg_database;

oid  |   datname

-------+--------------

1 | template1

14077 | template0

14082 | postgres

14083 | edb

16384 | enterprisedb

(5 rows)

11.删除data目录,重新initdb数据库

在data目录下:

rm -rf *

然后

initdb建立新的数据库

12.修改用于enterprisedb密码

这里需要注意,enterprisedb可能是linux的密码,也可能是数据库的密码,这里修改的是数据库的密码

postgres=# ALTER USER enterprisedb with password 'admin';

13.进入数据库后如何退出:

template1=# quit

14.创建和删除用户:

createuser 是 SQL 命令 CREATE USER的封装。

dropuser删除用户

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章