Puncte:0

Configurarea bazei de date PostgreSQL cu script bash folosind variabile din fișierul .env

drapel ca

Încerc să configurez PostgreSQL cu un script bash care preia variabilele dintr-un fișier .env.

Codul meu -

#!/bin/bash

DB_NAME=$(grep DB_NAME .env | cut -d '=' -f 2-)
DB_USER=$(grep DB_USER .env | cut -d '=' -f 2-)
DB_PASSWORD=$(grep DB_PASSWORD .env | cut -d '=' -f 2-)

echo $DB_NAME;
echo $DB_USER;
echo $DB_PASSWORD;

sudo -u postgres psql -c "CREATE BAZA DE DATE $DB_NAME;"

sudo -u postgres psql -c "CREAȚI UTILIZATOR $DB_USER CU PAROLA '$DB_PASSWORD';"
sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation LA 'citire comisă';"
sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
sudo -u postgres psql -c "ACORĂ TOATE PRIVILEGIILE PE BAZĂ DE DATE $DB_NAME LA $DB_USER;"

Dacă ecou variabilele înainte de a rula baza de date postgres creând linii ca următoarele, acestea scot variabile corecte citite din fișierul .env.

#!/bin/bash

DB_NAME=$(grep DB_NAME .env | cut -d '=' -f 2-)
DB_USER=$(grep DB_USER .env | cut -d '=' -f 2-)
DB_PASSWORD=$(grep DB_PASSWORD .env | cut -d '=' -f 2-)

echo $DB_NAME;
echo $DB_USER;
echo $DB_PASSWORD;

sudo -u postgres psql -c "CREATE BAZA DE DATE $DB_NAME;"

sudo -u postgres psql -c "CREAȚI UTILIZATOR $DB_USER CU PAROLA '$DB_PASSWORD';"
sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation LA 'citire comisă';"
sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
sudo -u postgres psql -c "ACORĂ TOATE PRIVILEGIILE PE BAZĂ DE DATE $DB_NAME LA $DB_USER;"

Dar după ce scriptul este rulat, nu mă pot conecta cu combinația de utilizator și parolă folosind -

psql -h localhost -d mydb -U myuser -p 5432

După introducerea parolei, arată -

psql: eroare: FATAL: autentificarea parolei a eșuat pentru utilizatorul „myuser”
FATAL: autentificarea parolei a eșuat pentru utilizatorul „mydb”

Fișierul meu .env arată așa -

#WORK_ENV poate fi local, de testare, de punere în scenă sau de producție
WORK_ENV=local

# cheie secretă django
SECRET_KEY='cheia-ta-secretă-aici'

# Bază de date
DB_NAME=numele_db_dv
DB_USER=numele_utilizator_db_db
DB_PASSWORD=parola_db_db
DB_HOST=localhost
DB_PORT=5432

SENTRY_DSN=link-ul-unic-de-proiect-sentinelă

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.