Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS X上的pg_转储不匹配_Macos_Postgresql - Fatal编程技术网

MacOS X上的pg_转储不匹配

MacOS X上的pg_转储不匹配,macos,postgresql,Macos,Postgresql,在本地,我似乎已经安装了Postgresql 9.2.4。根据上次收到的错误消息,我猜测我没有最新版本: pg_dump: server version: 9.3.1; pg_dump version: 9.2.4 pg_dump: aborting because of server version mismatch 在这里的其他帖子中,我们被告知要做的是在.profile中添加以下内容,然后运行命令: export PATH="/Applications/Postgres.app/Cont

在本地,我似乎已经安装了Postgresql 9.2.4。根据上次收到的错误消息,我猜测我没有最新版本:

pg_dump: server version: 9.3.1; pg_dump version: 9.2.4
pg_dump: aborting because of server version mismatch
在这里的其他帖子中,我们被告知要做的是在.profile中添加以下内容,然后运行命令:

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
. ~/.profile
brew install postgresql
这是行不通的

2周前,我使用以下简单命令安装了Postgresql:

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
. ~/.profile
brew install postgresql
这给了我目前的版本。看来我没有最新的版本

我如何才能a)升级到9.3.1(这是服务器版本的外观)或b)执行这些修复中的一个,就像我在上面尝试的修复一样,但不起作用


我对Postgresql非常陌生,所以一步一步对我很有帮助。

在Postgresql 9.2和9.3之间,您必须遵循一些升级说明

  • launchctl unload~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
  • mv/usr/local/var/postgres/usr/local/var/postgres92
  • brew更新
  • brew升级postgresql
  • initdb/usr/local/var/postgres-eutf8
  • pg_upgrade-b/usr/local/ceral/postgresql/9.2.4/bin-b/usr/local/ceral/postgresql/9.3.1/bin-d/usr/local/var/postgres92-d/usr/local/var/postgres
  • launchctl load~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
  • brew升级postgresql brew链接--覆盖postgresql
    通过在我的
    ~/.bash_配置文件
    (或zsh的
    ~/.zshrc
    末尾添加此项来解决此问题)

    不要忘记运行(对于bashshell)

    或(对于zsh)

    您可以通过运行来检查
    pg_dump
    的路径

    $ which pg_dump
     ==> /Applications/Postgres.app/Contents/Versions/9.6/bin//pg_dump
    
    • 马科斯·莫哈韦(10.14.2)
    • Postgres.app(2.1.5)
    • PostgreSQL 9.6

    我没有您提到的第一个文件。在这个文件夹中,我只有一个redis文件,当我运行“brew upgrade postgresql”时,它会显示postgresql-9.2.4已经安装,然后跳过该步骤,继续其他步骤。运用常识。主要的想法是,你必须在新旧数据库二进制文件之间运行
    pg_upgrade
    步骤。你还必须升级homebrew,我将为此添加额外的步骤。asker已经根据错误消息运行了9.3.1服务器,所以所有这些都没有意义。我现在下载了9.3.2,太棒了!步骤5给出了一个错误,说明目录存在。
    source~/.bash_profile
    假设用户正在使用bash shell,而不是例如
    zsh
    $ source ~/.zshrc
    
    $ which pg_dump
     ==> /Applications/Postgres.app/Contents/Versions/9.6/bin//pg_dump