# Reference: PostgreSQL Commands per Lab 05 ## Comandi Utili ### Connessione ```bash # Connessione base docker exec lab05-db psql -U lab05_user -d lab05_db # Connessione con host specificato docker exec lab05-app psql -h db -U lab05_user -d lab05_db # Esegui comando singolo docker exec lab05-db psql -U lab05_user -d lab05_db -c "SELECT version();" ``` ### Operazioni Database ```sql -- Crea database CREATE DATABASE test_db; -- Lista database \l -- Cambia database \c test_db -- Droppia database DROP DATABASE test_db; ``` ### Operazioni Tabelle ```sql -- Crea tabella CREATE TABLE test_table ( id SERIAL PRIMARY KEY, name TEXT, value INTEGER ); -- Lista tabelle \dt -- Descrivi tabella \d test_table -- Droppia tabella DROP TABLE test_table; ``` ### DML ```sql -- Insert INSERT INTO test_table (name, value) VALUES ('test', 42); -- Select SELECT * FROM test_table; -- Update UPDATE test_table SET value = 100 WHERE name = 'test'; -- Delete DELETE FROM test_table WHERE name = 'test'; ``` ### Utility ```bash # Verifica PostgreSQL pronto docker exec lab05-db pg_isready -U lab05_user # Backup database docker exec lab05-db pg_dump -U lab05_user lab05_db > backup.sql # Ripristina database cat backup.sql | docker exec -i lab05-db psql -U lab05_user lab05_db ``` ## Variabili Ambiente PostgreSQL | Variabile | Descrizione | Default | |-----------|-------------|---------| | POSTGRES_DB | Nome database | postgres | | POSTGRES_USER | Utente creato | - | | POSTGRES_PASSWORD | Password utente | - | | POSTGRES_INITDB_ARGS | Argomenti initdb | - | | PGDATA | Data directory | /var/lib/postgresql/data |