簡體   English   中英

如何使用bash在postgres中運行Alter Table腳本

[英]How to run alter table script in postgres using bash

我想使用bash腳本運行alter table命令。 我設法創建了表,加載了基本模型,創建了配置表等。腳本將在執行alter table命令之前登錄到postgres數據庫。 它卡住了(a​​bcdb =>),而沒有繼續執行alter table命令。 有什么方法可以確保alter table能夠執行?

登錄為

psql -h 191.169.51.10 -d abcdb -U myname



 alter table attr_config rename regexp to regexp_val;
 alter table class_action_config rename type to type_name;
 alter table funcitem_config rename type to type_name;

為了運行這樣的腳本,您需要將SQL / DML(更改表語句)重定向到psql命令中。 否則bash不會理解如何處理它們。

psql -h 191.169.51.10 -d abcdb -U myname << EOF

 alter table attr_config rename regexp to regexp_val;
 alter table class_action_config rename type to type_name;
 alter table funcitem_config rename type to type_name;
EOF

或者,您可以將SQL / DML放入一個單獨的文件中,並使用psql讀取該文件:

psql -h 191.169.51.10 -d abcdb -U myname < alter_statements.sql

要么

psql -h 191.169.51.10 -d abcdb -U myname -f alter_statements.sql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM