這個問題在這里已經有了答案: PostgreSQL:在特定資料庫中創建模式 (3 個答案) 18 小時前關閉。
如何使用 bash 腳本在資料庫“testdb”中創建模式“testschema”?
資料庫在 docker 容器中運行。我創建了一個包含以下幾行的 bash 腳本: DB_NAME='testdb' schm='testschema'
PGPASSWORD=$PGPASS psql -X -h localhost -p $DB_PORT -U postgres -c "CREATE DATABASE $DB_NAME;"
PGPASSWORD=$PGPASS psql -X -h localhost -p $DB_PORT -U postgres -c "CREATE SCHEMA $schm;"
執行此操作后,它將創建一個模式,但在 postgres 資料庫中。那不是我想要的。
如果我添加資料庫名稱,則會產生錯誤:
PGPASSWORD=$PGPASS psql -X -h localhost -p $DB_PORT -U postgres -c "CREATE SCHEMA $DB_NAME.$schm;"
uj5u.com熱心網友回復:
創建此資料庫后,將-d $DB_NAME交換機添加到您的呼叫中。psql
PGPASSWORD=$PGPASS psql -X -h localhost -p $DB_PORT -U postgres -c "CREATE DATABASE $DB_NAME;"
PGPASSWORD=$PGPASS psql -X -h localhost -p $DB_PORT -U postgres -d $DB_NAME -c "CREATE SCHEMA $schm;"
不指定資料庫psql默認為postgres. 來自man psql:
-d dbname
--dbname=dbname指定要連接的資料庫的名稱。這等效于將 dbname 指定為命令列上的第一個非選項引數。dbname 可以是連接字串。如果是這樣,連接字串引數將覆寫任何沖突的命令列選項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/535301.html
上一篇:嵌套葉節點
