16 lines
1.2 KiB
Bash
16 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
||||
|
|
# 在 47 的控制面 PG 上建角色与库(peer 认证走 unix socket,不依赖已存在的密码)
|
|||
|
|
set -uo pipefail
|
|||
|
|
PGPORT=15432
|
|||
|
|
DBPW="dshs_cluster_2026"
|
|||
|
|
|
|||
|
|
su - postgres -c "/usr/bin/psql -p $PGPORT -tAc \"select 1 from pg_roles where rolname='dshs'\"" 2>/dev/null | grep -q 1 \
|
|||
|
|
|| su - postgres -c "/usr/bin/psql -p $PGPORT -c \"create role dshs login password '$DBPW'\"" >/dev/null 2>&1
|
|||
|
|
su - postgres -c "/usr/bin/psql -p $PGPORT -tAc \"select 1 from pg_database where datname='dshs'\"" 2>/dev/null | grep -q 1 \
|
|||
|
|
|| su - postgres -c "/usr/bin/psql -p $PGPORT -c \"create database dshs owner dshs\"" >/dev/null 2>&1
|
|||
|
|
|
|||
|
|
echo "=== 角色/库确认(本地 peer) ==="
|
|||
|
|
su - postgres -c "/usr/bin/psql -p $PGPORT -tAc \"select rolname from pg_roles where rolname='dshs'\"" 2>/dev/null | sed 's/^/ role: /'
|
|||
|
|
su - postgres -c "/usr/bin/psql -p $PGPORT -tAc \"select datname||' owner='||pg_get_userbyid(datdba) from pg_database where datname='dshs'\"" 2>/dev/null | sed 's/^/ db: /'
|
|||
|
|
echo "=== 连接自检(TCP + 密码,走的应是**本机 PG 13**) ==="
|
|||
|
|
PGPASSWORD="$DBPW" /usr/bin/psql -h 127.0.0.1 -p $PGPORT -U dshs -d dshs -tAc "select version()" 2>&1 | head -1 | cut -c1-80
|