Passa ai contenuti principali

PostgreSQL Cheat Post


Mettere in piedi in modo veloce un ambiente di test, richiede spesso di avere un dump del database cliente da poter analizzare o far puntare all'applicazione che stiamo sviluppando. In questo articolo annoto alcuni comandi che possono essere utili per raggiungere lo scopo appena citato.

Backup e restore di un database da un terminale

Salvare un database: struttura dati e dati (
DDL e DML)
pg_dump -h [hostname] -U [username] -W -c [database] > database.dmp

Risultato: nel file database.dmp viene salvato un'immagine completa dello schema del database completo dei dati

Salvare solo lo schema:

pg_dump -h [hostname] -U [username] -W -c --schema-only [database] > database-schema.sql

Risultato: nel file database-schema.sql viene salvato uno script per ricreare la struttura delle tabelle e delle eventuali chiavi esterne, indici del database

Ripristino di un dump
Condizione necessaria perchè il comando vada a buon fine è che il database, anche vuoto, usato come parametro in [database] esista.

psql -h [hostname] -U [username] -W [database] -e < database.dmp

Risultato: viene caricato in [database] il contenuto del dump

Elenco dei database presenti

psql -h [hostname] -U [username] -l


Nota: premere 'Q' per ritornare al terminale

Controllare client connessi ad un database
Questa query estrae gli id dei client connessi al database di nome datname passato come parametro nella clausola where. Molto utile se si devono far uscire degli utenti prima di effettuare della manutenzione

select * from pg_stat_activity where datname='nome database'

Post popolari in questo blog

Se excel non aggiorna le formule

Oggi in ufficio è capitata una richiesta particolare. In un documento excel dopo aver eseguito un copia-incolla di una formula non si aggiornavano i risultati nelle celle interessate. Dopo attimi di perplessità dal fondo dell'ufficio il capo ci illumina con una funzione ai più sconosciuta e che ha risolto il problema: il tasto F9. Scusate la mia ignoranza in excel ma questo blog è pensato proprio per appuntare esperienze di vita informatica. Tutto sta nel fatto che i "calcolatori d'un tempo" non disponevano di una adeguata potenza di calcolo e nelle operazioni di copia-incolla si verificavano lunghe attese per l'aggiornamento. La soluzione adottata da MS è stata quella di inserire un'opzione per impedire l'aggiornamento automatico e forzarlo con una combinazione di tasti... il tasto F9!
Combinazioni utili per il calcolo delle formule F9 = calcola le formule modificate dall'ultimo calcolo in tutte le cartelle e fogli di lavoro aperte. MAIUSC + F9 = c…

Riflessioni sull'ordinamento

Gli algoritmi di ordinamento sono da sempre i più gettonati e interessanti dal punto di vista didattico (si veda la complessità computazionale) e funzionale (quasi tutti i programmi hanno almeno una funzione di ricerca). Proprio di questi giorni sono alcuni articoli di Programmazione.it dedicati a questo tema (link).Coding Horror in questo articolo presenta una provocazione molto interessante al di là delle opinioni personali:

The default sort functions in almost every programming language are poorly
suited for human consumption.
L'articolo pone l'attenzione sulla differenza tra l'ordinamento alfanumerico e quello ASCII solitamente usato nei metodi nativi dei linguaggi. Il discorso si ampia se poi pensiamo banalmente alla differenza tra Windows e GNU/Linux che è case sensitive.
Spesso i sistemi operativi e i linguaggi di programmazione realizzano ordinamenti rispettando l'ordine della tabella di codifica ASCII e non l'ordinamento naturale della lingua. I commenti a se…

Timeline dei Linguaggi di programmazione

O'Reilly ha reso disponibile per tutti gli appassionati un interessante poster in formato pdf in cui vengono riassunti 50 anni di storia dei linguaggi di programmazione.Il poster mostra una timeline colorata nella quale sono evidenziate le principali derivazioni tra i vari linguaggi... da vedere
http://www.oreilly.com/news/graphics/prog_lang_poster.pdf



fonte programmazione.it