Spaces:
Paused
Paused
Update start-space.sh
Browse files- start-space.sh +5 -3
start-space.sh
CHANGED
|
@@ -12,7 +12,7 @@ else
|
|
| 12 |
fi
|
| 13 |
|
| 14 |
# ============================================================
|
| 15 |
-
# 2. 自部署 PostgreSQL 初始化与启动(修正
|
| 16 |
# ============================================================
|
| 17 |
init_postgres() {
|
| 18 |
echo "Initializing and starting self-deployed PostgreSQL..."
|
|
@@ -23,7 +23,7 @@ init_postgres() {
|
|
| 23 |
mkdir -p "$PGDATA"
|
| 24 |
chown postgres:postgres "$PGDATA"
|
| 25 |
|
| 26 |
-
# 使用临时文件传递密码
|
| 27 |
pwfile=$(mktemp)
|
| 28 |
echo "$POSTGRES_PASSWORD" > "$pwfile"
|
| 29 |
chown postgres:postgres "$pwfile"
|
|
@@ -53,7 +53,8 @@ init_postgres() {
|
|
| 53 |
|
| 54 |
# 创建应用用户和数据库(如果不存在)
|
| 55 |
echo "Ensuring application user and database exist..."
|
| 56 |
-
#
|
|
|
|
| 57 |
su-exec postgres psql -h localhost -p 5432 -v ON_ERROR_STOP=1 --username postgres <<-EOSQL
|
| 58 |
DO \$\$
|
| 59 |
BEGIN
|
|
@@ -65,6 +66,7 @@ init_postgres() {
|
|
| 65 |
SELECT 'CREATE DATABASE $POSTGRES_DB OWNER $POSTGRES_USER'
|
| 66 |
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$POSTGRES_DB')\gexec
|
| 67 |
EOSQL
|
|
|
|
| 68 |
|
| 69 |
# 设置 DATABASE_URL 及拆分变量,指向本地 PostgreSQL(不启用 SSL)
|
| 70 |
export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?sslmode=disable"
|
|
|
|
| 12 |
fi
|
| 13 |
|
| 14 |
# ============================================================
|
| 15 |
+
# 2. 自部署 PostgreSQL 初始化与启动(修正 postgres 密码认证)
|
| 16 |
# ============================================================
|
| 17 |
init_postgres() {
|
| 18 |
echo "Initializing and starting self-deployed PostgreSQL..."
|
|
|
|
| 23 |
mkdir -p "$PGDATA"
|
| 24 |
chown postgres:postgres "$PGDATA"
|
| 25 |
|
| 26 |
+
# 使用临时文件传递密码(该密码将同时用于 postgres 超级用户)
|
| 27 |
pwfile=$(mktemp)
|
| 28 |
echo "$POSTGRES_PASSWORD" > "$pwfile"
|
| 29 |
chown postgres:postgres "$pwfile"
|
|
|
|
| 53 |
|
| 54 |
# 创建应用用户和数据库(如果不存在)
|
| 55 |
echo "Ensuring application user and database exist..."
|
| 56 |
+
# 使用 PGPASSWORD 环境变量传递 postgres 超级用户密码
|
| 57 |
+
export PGPASSWORD="$POSTGRES_PASSWORD"
|
| 58 |
su-exec postgres psql -h localhost -p 5432 -v ON_ERROR_STOP=1 --username postgres <<-EOSQL
|
| 59 |
DO \$\$
|
| 60 |
BEGIN
|
|
|
|
| 66 |
SELECT 'CREATE DATABASE $POSTGRES_DB OWNER $POSTGRES_USER'
|
| 67 |
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$POSTGRES_DB')\gexec
|
| 68 |
EOSQL
|
| 69 |
+
unset PGPASSWORD # 清除,避免影响后续使用
|
| 70 |
|
| 71 |
# 设置 DATABASE_URL 及拆分变量,指向本地 PostgreSQL(不启用 SSL)
|
| 72 |
export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?sslmode=disable"
|