PostgreSQL软件版本升级后,需要使用pg_upgrade迁移旧版本的数据库,具体的操作参数可以参考官方文档,在此记录一下操作过程中出现的细节问题:
- 新版本软件在initdb的时候要保证locale和旧版本软件一致,如果旧版本软件在initdb的时候指定了--locale=C,而新版本软件未指定的话,默认好像是--locale="Chinese (Simplified)",这点要注意
- initdb -U 指定的用户名要和旧版本数据库保持一致,因为在pg_upgrade的时候要使用这个用户名,不一致可能会导致失败,不太确定