鍍金池/ 問答/數(shù)據(jù)庫  HTML/ postgresql做了讀寫分離,兩臺服務(wù)器,用copy命令讀取csv文件遇到了

postgresql做了讀寫分離,兩臺服務(wù)器,用copy命令讀取csv文件遇到了難題,求賜教

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

現(xiàn)在項目是node搭的服務(wù),兩臺節(jié)點,postgresql做了讀寫分離,主節(jié)點做寫操作,由于數(shù)據(jù)量大需要將數(shù)據(jù)存為csv文件然后用COPY命令做批量插入,現(xiàn)在問題是前端請求的時候會不定的發(fā)請求到兩臺服務(wù)器中的一臺,在這臺服務(wù)器將數(shù)據(jù)生成csv文件,但是postgresql只會在主節(jié)點做寫操作,所以會導(dǎo)致如果在從節(jié)點上的csv文件,postgresql運行copy命令時會找不到csv文件,請問該怎么解決,找了資料都沒找到方案,求賜教

相關(guān)代碼

node使用Sequelize配的postgresql

let 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
    }
});
回答
編輯回答
妖妖

undefined

2018年5月27日 03:21
編輯回答
空白格
如果是用psql命令的話 copy命令換成\copy,\copy是二進制流無需csv在服務(wù)器上,遠程copy。如果用node的框架的話,找找有沒有類似的函數(shù),我平時用python的psycopg2,copy_from就是二進制流。
2018年4月7日 18:56