現(xiàn)在項(xiàng)目是node搭的服務(wù),兩臺(tái)節(jié)點(diǎn),postgresql做了讀寫分離,主節(jié)點(diǎn)做寫操作,由于數(shù)據(jù)量大需要將數(shù)據(jù)存為csv文件然后用COPY命令做批量插入,現(xiàn)在問題是前端請求的時(shí)候會(huì)不定的發(fā)請求到兩臺(tái)服務(wù)器中的一臺(tái),在這臺(tái)服務(wù)器將數(shù)據(jù)生成csv文件,但是postgresql只會(huì)在主節(jié)點(diǎn)做寫操作,所以會(huì)導(dǎo)致如果在從節(jié)點(diǎn)上的csv文件,postgresql運(yùn)行copy命令時(shí)會(huì)找不到csv文件,請問該怎么解決,找了資料都沒找到方案,求賜教node使用Sequelize配的postgresqllet sequelize = new Sequelize(`${postgresql.database}`,null , null, { 'port': postgresql.port, 'dialect': 'postgres', 'protocol': 'postgres', 'quoteIdentifiers': true, 'logging': false, // 讀取分離
'replication': { 'read': [
{ host: postgresql.masterHost, username: postgresql.username, password: postgresql.password },
{ host: postgresql.subHost, username: postgresql.username, password: postgresql.password }
], 'write': { host: postgresql.masterHost, username: postgresql.username, password: postgresql.password }
}, 'pool': { 'maxConnections': process.env.NODE_ENV !== "PRODUCTION" ? 80 : 120, 'minConnections': 0, 'maxIdleTime': 30000
}
});
1 回答

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果是用psql命令的話 copy命令換成\copy,\copy是二進(jìn)制流無需csv在服務(wù)器上,遠(yuǎn)程copy。如果用node的框架的話,找找有沒有類似的函數(shù),我平時(shí)用python的psycopg2,copy_from就是二進(jìn)制流。
- 1 回答
- 0 關(guān)注
- 1331 瀏覽
添加回答
舉報(bào)
0/150
提交
取消