Ubuntu中卸载Postgresql出错的解决方法

转载  更新时间:2017年09月05日 10:54:00   作者:TheOneGIS   我要评论

这篇文章主要给大家介绍了关于在Ubuntu中卸载Postgresql出错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

最近在卸载PostgreSQL数据库的出错了,无奈只能一步步的进行排查分析解决,下面将解决的过程分享出来,给同样遇到这个问题的朋友们参考学习,下面话不多说了,来一起看看详细的介绍吧。

出错输出:

Removing postgresql-9.1 (9.1.18-0ubuntu0.12.04) ...
/var/lib/dpkg/info/postgresql-9.1.prerm: 9: .: Can't open /usr/share/postgresql-common/maintscripts-functions
dpkg: error processing package postgresql-9.1 (--remove):
 子进程 已安装 pre-removal 脚本 返回了错误号 2
dpkg: postgresql-client-9.1: dependency problems, but removing anyway as you requested:
 postgresql-9.1 依赖于 postgresql-client-9.1.

Removing postgresql-client-9.1 (9.1.18-0ubuntu0.12.04) ...
/var/lib/dpkg/info/postgresql-client-9.1.prerm: 10: .: Can't open /usr/share/postgresql-common/maintscripts-functions
dpkg: error processing package postgresql-client-9.1 (--remove):
 子进程 已安装 pre-removal 脚本 返回了错误号 2
/var/lib/dpkg/info/postgresql-client-9.1.postinst: 7: .: Can't open /usr/share/postgresql-common/maintscripts-functions
dpkg:清理时出错:
 子进程 已安装 post-installation 脚本 返回了错误号 2
在处理时有错误发生:
 postgresql-9.1
 postgresql-client-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决过程

使用下面的命令:

sudo rm -r /var/lib/dpkg/info/postgresq*

然后是

sudo apt-get autoremove postgresql*

最后可以看到:

dpkg:警告:files list file for package 'postgresql-9.1' missing; assuming package has no files currently installed
dpkg:警告:files list file for package 'postgresql-client-9.1' missing; assuming package has no files currently installed
(正在读取数据库 ... 系统当前共安装有 146453 个文件和目录。)
Removing postgresql-9.1 (9.1.18-0ubuntu0.12.04) ...
Removing postgresql-client-9.1 (9.1.18-0ubuntu0.12.04) ...

其实感觉是第一个命令删除了dpkg关于postgresql的元数据信息,然后使用autoremove命令的时候,dpkg以为postgresql没有安装,然后提示卸载成功了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • PostgreSQL教程(二):模式Schema详解

    PostgreSQL教程(二):模式Schema详解

    这篇文章主要介绍了PostgreSQL教程(二):模式Schema详解,本文讲解了创建模式、public模式、权限、删除模式、模式搜索路径等内容,需要的朋友可以参考下
    2015-05-05
  • PostgreSQL之分区表(partitioning)

    PostgreSQL之分区表(partitioning)

    通过合理的设计,可以将选择一定的规则,将大表切分多个不重不漏的子表,这就是传说中的partitioning。比如,我们可以按时间切分,每天一张子表,比如我们可以按照某其他字段分割,总之了就是化整为零,提高查询的效能
    2016-11-11
  • PostgreSQL中Slony-I同步复制部署教程

    PostgreSQL中Slony-I同步复制部署教程

    这篇文章主要给大家介绍了关于PostgreSQL中Slony-I同步复制部署的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • PostgreSQL教程(六):函数和操作符详解(2)

    PostgreSQL教程(六):函数和操作符详解(2)

    这篇文章主要介绍了PostgreSQL教程(六):函数和操作符详解(2),本文讲解了模式匹配、数据类型格式化函数、时间/日期函数和操作符等内容,需要的朋友可以参考下
    2015-05-05
  • SQL Server数据迁移至PostgreSQL出错的解释以及解决方案

    SQL Server数据迁移至PostgreSQL出错的解释以及解决方案

    最近对SQL Server到PostgreSQL的数据迁移时出现了问题,返回的错误为:invalid byte sequence for encoding "UTF8": 0x00。经查证pg源代码,该问题引起的原因是sql server的字符类型字段中含有空字符\0,该字符在pg中不支持。
    2014-09-09
  • Linux下创建Postgresql数据库的方法步骤

    Linux下创建Postgresql数据库的方法步骤

    PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。下面这篇文章主要给大家介绍了关于在Linux下创建Postgresql数据库的方法步骤,需要的朋友可以参考,下面来一起看看吧。
    2017-07-07
  • Windows下Postgresql下载与配置方法

    Windows下Postgresql下载与配置方法

    这篇文章主要为大家详细介绍了Windows下Postgresql下载与配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • PostgreSQL更新表时时间戳不会自动更新的解决方法

    PostgreSQL更新表时时间戳不会自动更新的解决方法

    这篇文章主要为大家详细介绍了PostgreSQL更新表时时间戳不会自动更新的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Mybatis调用PostgreSQL存储过程实现数组入参传递

    Mybatis调用PostgreSQL存储过程实现数组入参传递

    这篇文章主要介绍了mybatis调用postgresql自定义函数传递数组参数的解决方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 初识PostgreSQL存储过程

    初识PostgreSQL存储过程

    这篇文章主要介绍了初识PostgreSQL存储过程,本文讲解了PostgreSQL中存储过程的语法,并给出了一个操作实例,需要的朋友可以参考下
    2015-01-01

最新评论