bashèæ¬éæä¸ç§æ¹å¼è®¿é®PostgreSQLæ°æ®åº
ä½åææ¯è¦è®¾ç½®å¯ç æ件ãå½ç¶å¯¹äºæç³»ç»å¯¹åºè´¦æ·çæ°æ®åºè§è²å¯ä»¥ç»è¿å¯ç ç»å½ç¯èï¼å¦
1
$ sudo -u postgres psql
æ
1
2
$ sudo su - postgres
$ psql
ä½æ¯å¯¹äºæ²¡æç³»ç»è´¦æ·å¯¹åºçæ°æ®åºè§è²ï¼å¦è¦ä½¿ç¨èæ¬ç»å½åå¿
须使ç¨PostgreSQLå¯ç æ件
heredocæ¹å¼
heredocæ¯ä¸ç§å¾å¸¸ç¨çæ¹å¼ï¼å¨bashç¯å¢ä¸è¿å¯ä»¥ä½¿ç¨åéæ¿æ¢ï¼ç¨æ³ç¤ºä¾
1
2
3
psql -U ${role} -h ${host} -d mydb << EOF
CREATE SCHEMA ${role};
EOF
ä¹å¯ä»¥å¨å¾ªç¯è¯å¥ä¸ï¼åæ°æ®åºæ¹éæå
¥æ°æ®ï¼ç±»ä¼¼
1
2
3
4
5
6
for ...
do
psql -U ${role} -h ${host} -d mydb << EOF
INSERT INTO ${table} VALUES(${value1},${value2},...);
EOF
done
ä½è¿ç§æ¹å¼ï¼æ¯æ¬¡æå
¥ä¸æ¡è¯å¥é½éæ°ç»å½ä¸æ¬¡æ°æ®åºï¼æçè¯å®ä¸åå°ã
UPDATE(05/05/2014):æ¢ç¶å¯ä»¥ä½¿ç¨åéæ¿æ¢,å¯ä»¥å°æææå
¥è¯å¥ç»åå°ä¸ä¸ªåéä¸ï¼ç¶åå°±å¯ä»¥å¨ä¸æ¬¡ç»å½ä¸æ¹éæå
¥æ°æ®äºã
è¿å¯ä»¥ç¨ä»¥ä¸æ¹å¼æ¥è·åæ¥è¯¢ç»æ
result=`psql -U role -h localhost -d mydb << EOF
SELECT * FROM products;
EOF`
echo ${result}
使ç¨psqlå½ä»¤è¡é项-fæ§è¡sqlèæ¬æ件
1
psql -U ${role} -h ${host} -d mydb -f ${scriptname}
使ç¨psqlå½ä»¤è¡é项-cæ§è¡SQLè¯å¥æpsqlå½ä»¤
psqlç-cé项å¯ä»¥æå®SQLè¯å¥æè
psqlå½ä»¤ï¼ä½äºè
ä¸è½æ··åï¼é¤é使ç¨ç®¡éãå¦æå½ä»¤åæ°ä¸æå¤æ¡SQLè¯å¥ï¼åå®ä»¬å¨ä¸ä¸ªäºå¡éæ§è¡ï¼é¤é使ç¨BEGIN/COMMITæç¡®çæå®äºå¡ãè¿ä¸äº¤äºå¼ä½¿ç¨psqlç»ç«¯ä¸åï¼å¦æä¸æç¡®æå®äºå¡ï¼åæ¯æ¡SQLå±äºä¸ä¸ªåç¬çäºå¡å¹¶èªå¨æ交ãåªææåä¸æ¡SQLè¯å¥çç»æ被è¿åã
温馨提示:答案为网友推荐,仅供参考