我已经用repmgr设置了postgres,并在两台服务器之间配置为复制和故障切换,故障切换设置工作正常。Postgres的连接字符串如下所示。
postgres://repmgr:repmgrpassowrd@10.200.0.100:5432,10.200.0.120:5432/Stag_DB
当我试图用这个postgres字符串设置strapi时,我没有找到任何将postgres串与strapi连接的文章。我正在关注此链接https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#database在strapi项目中只找到database.js文件,该文件一次连接一个数据库。
defaultConnection: 'default',
connections: {
default: {
connector: 'bookshelf',
settings: {
client: 'postgres',
host: env('DATABASE_HOST', 'localhost'),
port: env.int('DATABASE_PORT', 5432),
database: env('DATABASE_NAME', 'strapi'),
username: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
schema: env('DATABASE_SCHEMA', 'public'), // Not Required
ssl: {
rejectUnauthorized: env.bool('DATABASE_SSL_SELF', false), // For self-signed certificates
},
},
options: {
ssl: env.bool('DATABASE_SSL', false),
},
},
},
});
这一次只能连接一个数据库。请帮助我在strapi上连接此字符串postgres://repmgr:repmgrpassowrd@10.200.0.100:5423,10.200.0.120:5423/Stag_DB
。
我在mongodb数据库中尝试过,我不知道它可能在postgre中工作,但这里的步骤是:
- 将database.js文件更新为如下内容
module.exports = ({ env }) => ({
defaultConnection: 'default',
connections: {
default: {
connector: 'mongoose',
settings: {
uri: env('DATABASE_URI'),
},
options: {
ssl: true,
}
}
}
});
- 使用数据库字符串更新.env文件,例如:
DATABASE_URI=mongodb://username:password@project.subdomain.mongodb.net/myFirstDatabase?retryWrites=true&w=majority