Postgresql
如何從批處理文件在 Windows 中的 PostgreSQL 10 中創建新數據庫?
我正在創建一個批處理文件以在 PostgreSQL 10 中創建一個新數據庫。我使用了以下程式碼,
echo off cd "C:\Program Files (x86)\PostgreSQL\10\bin" psql "dbname=myDB host=localhost user=postgres password=postgres port=5432" pause
但我得到這個錯誤,
psql:致命:數據庫“myDB”不存在
我知道這不是創建新數據庫的命令。我還嘗試了以下程式碼,
echo off cd "C:\Program Files (x86)\PostgreSQL\10\bin" psql "createdb myDB passfile %APPDATA%\postgresql\pgpass.conf" pause
這是基於此連結中的資訊。“pgpass.conf”文件有以下文本,
本地主機:5432:myDB:postgres:postgres
但它要求輸入密碼。我輸入了預設密碼“postgres”。但這是輸出,
psql:致命:使用者“User1”的密碼驗證失敗
這裡的目標是從批處理文件創建新數據庫而不要求輸入密碼。如何做到這一點?
創建一個bat文件,內容如下並執行:
c:\path\to\postgresql\bin\psql.exe -f C:\path\to\db_create.sql postgresql://user:password@localhost:port/postgres
這對我有用。
為我工作的其他方式是:
1.- 創建一個
test.bat
包含以下內容的文件:@set PGPASSFILE=D:\bash\Test02.conf @"C:\Program Files\PostgreSQL\12\bin\"createdb -U postgres PEDIDOS-2052021141847 # all in one line
2.- 創建一個
test.conf
包含以下內容的文件:*:*:*:postgres:1234 # host:port:database:user:password
3.- 執行
.bat
文件