使用 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 | brew services stop postgresql |
就可以启动起来了
可以用 createdb tempdb
来创建一个名字为 tempdb 的数据库
1 | psql tempdb |
就能直接进入psql