ด้วย Windows 11 รุ่นล่าสุด มีสองวิธีที่แนะนำในการดำเนินการนี้
วินโดวส์ 11
ขณะนี้ คุณสามารถเรียกใช้บรรทัดคำสั่งโดยอำเภอใจเมื่อเริ่มต้นอินสแตนซ์โดยการสร้าง/แก้ไข /etc/wsl.conf
(ผ่าน sudo) ด้วยสิ่งต่อไปนี้:
[บูต]
คำสั่ง = "บริการ postgresql เริ่มต้น"
คำสั่งนี้ทำงานเป็นรูทและไม่สร้างเอาต์พุต หากคุณต้องการเรียกใช้หลายคำสั่ง ควรคั่นด้วยเครื่องหมายอัฒภาค (หรืออะไรทำนองนี้ &&
) ข้างใน คำสั่ง=
สตริง
วินโดวส์ 10
บน WSL กับ Windows 10 ยังมีวิธีที่ง่ายกว่า IMHO มากกว่าการใส่ไฟล์ ซูโด
คำสั่งในการเริ่มต้นของคุณและกังวลเกี่ยวกับ ซูโดเออร์
.
ซูโดเออร์
เป็นวิธีที่เป็นที่ยอมรับ (ไม่มีการเล่นสำนวนเป็นเพียงอุบัติเหตุที่มีความสุข) ที่จะทำบน Ubuntu แต่บน WSL การใช้ไวยากรณ์ต่อไปนี้ในของคุณง่ายกว่า ~/.bashrc
:
wsl.exe -u บริการ root postgresql สถานะ || wsl.exe -u บริการ root postgresql เริ่มต้น
wsl.exe -u รูท
ไม่ต้องใช้รหัสผ่าน จาก PowerShell และ CMD สามารถเรียกได้โดยไม่ต้องใช้ exe
แต่จากภายใน WSL นั้นต้องการส่วนขยาย
หมายเหตุ ต่อ @mbomb007ความคิดเห็นของ สิ่งนี้จะสร้างหนึ่งหรือสองข้อความทุกครั้งที่คุณเริ่ม หากต้องการระงับสิ่งนี้ ให้ใช้:
wsl.exe -u บริการ root สถานะ postgresql > /dev/null || wsl.exe -u บริการ root postgresql start > /dev/null