PostgreSQL在非默认的路径下创建表空间及数据库后,删除数据库目录后,还需要删除pg_tblspc下的链接文件,否则尝试启动其他实例时会报错

在非默认的路径下创建表空间及数据库后,删除数据库目录后,还需要删除pg_tblspc下的链接文件,否则尝试启动其他实例时会报错:
如下案例中的“pg_tblspc/46885”实际链接路径为“/data/highgo/4.1.0/1”
把/data/highgo/4.1.0/1删除后,
[highgo@db1 ~]$ cat .bash_profile 
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export LANG=C
export PGHOME=/data/highgo/4.1.0
export PGUSER=highgo
export PGPORT=5866
export PGDATA=/data/highgo/4.1.0/data
export PATH=$PGHOME/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH


启动数据库会报错:
[highgo@db1 ~]$ pg_ctl start
server starting
[highgo@db1 ~]$ ??:  00000: ?????????? 2017-07-14 11:41:46 CST
??:  00000: could not open tablespace directory "pg_tblspc/46885/PG_9.5_201510051": ENOENT
??:  00000: ???????????????
??:  00000: ???????????
??:  00000: ???autovacuum


删除pg_tblspc下的链接文件后,再次启动/data/highgo/4.1.0/data下的实例正常
[highgo@db1 data]$ cd pg_tblspc/
[highgo@db1 pg_tblspc]$ ls
46885
[highgo@db1 pg_tblspc]$ rm -rf *

[highgo@db1 ~]$ pg_ctl start
server starting
[highgo@db1 ~]$ ??:  00000: ?????????? 2017-07-14 11:42:53 CST
??:  00000: ???????????????
??:  00000: ???????????
??:  00000: ???autovacuum
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值