如何安装较旧版本的postgresql和postgis?

如何安装较旧版本的postgresql和postgis?,postgresql,postgis,Postgresql,Postgis,我是Linux新手,我发现很难安装较旧版本的postgresql(以及postgis)。我已经卸载了在aptidude中可以找到的与postgresql连接的所有内容。由于apt get install仅提供最新版本,因此我已经学习了一些如何安装9.1的教程。 示例:(结尾是9.1,而不是9.3) 在我完成本教程之后,pgAdmin III仍将9.3作为版本显示。 转储9.3并安装9.1和postgis 1.5的正确方法是什么 我用的是薄荷17,好的。首先,可以同时运行多个版本的postgres

我是Linux新手,我发现很难安装较旧版本的postgresql(以及postgis)。我已经卸载了在aptidude中可以找到的与postgresql连接的所有内容。由于apt get install仅提供最新版本,因此我已经学习了一些如何安装9.1的教程。 示例:(结尾是9.1,而不是9.3) 在我完成本教程之后,pgAdmin III仍将9.3作为版本显示。 转储9.3并安装9.1和postgis 1.5的正确方法是什么


我用的是薄荷17,好的。首先,可以同时运行多个版本的postgresql。一个机箱上可以有多个集群,每个集群可以运行不同的版本。debian软件包设计得非常好,使之易于实现

然而,既然您已经表示自己是linux/postgresql的新手,那么最好将9.3从您的系统中完全清除,以避免令人沮丧的打嗝,这将需要您花费很长时间才能弄清楚

为此,您需要:

  • 从dpkg中清除所有postgresql 9.3包
  • 手动删除9.3群集的任何9.3数据和配置
  • 确保已创建9.1群集
  • 步骤1–清除DPKG

    DPKG管理系统上的软件包。APT充当安装软件包的机制。apt提供了很多DPKG功能,但有些功能在DPKG上更容易实现。在您的评论中,您已经表明DPKG仍然显示9.3的残余。卸载软件包时,软件包的某些部分可能会挂起(如配置文件)。您可以在一个命令中删除多个包。要完全清除这些,您可以告诉dpkg清除它们
    dpkg--purge
    。您可以在一个命令中删除多个包,最好这样做

    dpkg--list
    将列出系统中的所有内容
    dpkg——list | grep postgresql
    在该列表中搜索postgresql

    步骤2–从旧的9.3群集手动删除数据和配置。

    当您第一次安装postgresql时,它会为您创建一个集群;没有问题。这让很多新用户感到困惑,因为他们既不知道它发生了,也不知道如何替换它。现在9.3已卸载,您可以继续删除配置和数据:

    如果要在已安装的9.3数据库中保留任何内容,请不要运行以下命令

    sudo rm-rf/etc/postgresql/9.3
    删除配置

    sudorm-rf/var/lib/postgresql/9.3
    删除数据

    步骤3–创建新群集

    您在评论中指出已安装postgresql 9.1。在运行此命令之前,请阅读手册<代码>手动pg_createcluster

    sudo pg_createcluster 9.1

    现在您应该能够启动postgresql
    sudo服务postgresql start

    编辑

    如果pg_配置仍列出不正确的版本,则。。。这可能是9.3遗留在系统上的结果。这可能不是问题。为了允许多个版本同时运行,pg_config是一个包装器脚本,它搜索最新(最高版本)的/usr/lib/postgresql/*/bin/pg_config。因此,您看到的是运行
    /usr/lib/postgresql/9.3/bin/pg_config
    的结果。如果9.3从系统中完全清除,那么/usr/lib/postgresql/9.3应该已经消失了

    如果要查看9.1的配置,请尝试运行:
    /usr/lib/postgresql/9.1/bin/pg_config


    启动服务器的包装器脚本将使用/etc/postgresql文件结构,并使用适当的版本。因此/etc/postgresql/9.1/main将作为9.1启动版本。

    您需要提供更多详细信息,因为postgresql 9.1仍然可以从apt.postgresql.org获得。显示命令和输出。无需卸载旧版本-您可以在不同的端口上运行这两个版本。由于您使用的是apt,您是否可以双重检查dpkg对您所安装版本的说明:
    sudo dpkg--list | grep postgresql
    。这将显示已安装的软件包认为它是什么版本。为什么要这样做?您是否正在尝试启动旧版本的基础备份?@CraigRinger是的,我从旧版本中获得了db.schema,并被告知专门在postgis 1.5上启动它,该版本需要postgresql 9.1或更高版本。@couling感谢您的命令,正如我所说的,我是相当新的,它非常有用。有
    postgresql9.1
    postgresql9.3
    postgresqlclient9.1
    postgresqlclientcommon
    postgresqlserverdev9.3
    ,所以我似乎无法卸载9.3。9.1已经安装。谢谢你的详细说明,作为一个新手,我真的很感激。我已经做了上面所说的一切。我不必创建新的集群,因为
    sudo apt get install postgresql-9.1
    ,我用来安装9.1(在main post中链接了指令),所以名为
    main
    的集群已经运行。有一件事让我非常困惑,那就是每次我运行
    pg_config
    时,它都会显示关于9.3(已删除目录,postgresql 9.3.5版等)的信息,看着dpkg,似乎9.1已经正确安装-postgres,postgres client,postgres client common,postgres common都在那里。但我在安装postgis时仍然有问题-正在尝试运行./configure,它仍然引用9.3文件夹:/I我从不喜欢建议这样做,因为这可能会导致dpkg以后抱怨。。。您可以通过删除/usr/lib/postgresql/9.3文件夹直接删除二进制文件<代码>sudo mv/usr/lib/postgresql/9.3~/postgresql\u 9.3\u二进制文件我建议