GeXiangDong

精通Java、SQL、Spring的拼写,擅长Linux、Windows的开关机

0%

brew upgrade postgresql 后无法启动

使用 brew upgrade postgresql 把 mac 上的 postgresql server 从10升级成11后,发现无法正常启动了

查看 postgresql 的日志文件 /usr/local/var/log/postgres.log,发现如下两行说明了启动失败的原因

2019-09-14 09:39:57.355 CST [1586] FATAL:  database files are incompatible with server
2019-09-14 09:39:57.355 CST [1586] DETAIL:  The data directory was initialized by PostgreSQL version 10, which is not compatible with this version 11.5.

用如下命令可以迁移老的数据文件

1
brew postgresql-upgrade-database

创建无老数据的新服务器

也可以删除老数据库文件,重新建个干净的新数据库。

先删除老数据库目录 /usr/local/var/postgres

然后运行

1
initdb -U 当前用户名 -A trust  -D /usr/local/var/postgres 

-U 后面跟的是当前用户的用户名,这样用psql 就不需要每次都加个 -U 参数了
-A 后面的trust,表示信任登录,不用输入密码了

之后

1
2
brew services stop postgresql
brew services start postgresql

就可以启动起来了

可以用 createdb tempdb 来创建一个名字为 tempdb 的数据库

1
psql tempdb

就能直接进入psql