1、出现这样的问题是因为缺少用户配置文件,因为在linux下每次通过useradd创建新的用户时,都会将所有的配置文件从/etc/skel复制到新用户的主目录下,一般默认在home下面的新用户主目录下,而关于/etc/skel这个目录,是主要被useradd所用到。
2.安装postgresql后,安装程序会自动创建postgres这个用户,但是使用 su - postgres切换用户时就无法进入,证明安装程序其实也是使用的useradd这种方式。所以我们需要手动的将/etc/skel下的几个文件cp到postgres用户下
3. cd /etc/skel
ls -a
cp .bash_profile .bash_rc .bash_logout 到postgres用户目录
我的postgres的安装目录是: /opt/PostgreSQL/9.4
然后重启centos7系统
4、su - postgres用户就能正常成功了