Secondo me, quale che sia la risposta a questa domanda (ne parlo dopo) hai comunque bisogno di chiedere all'utente di inserire un utente ed una password per collegarsi al database.Originariamente inviato da Shadow976
Ovvero, se non ho ancora creato nulla, qual'è quel "superutente" e quel, diciamo, "superdb" al quale connettersi quando ancora l'utente non ha creato alcun database o utente, ovvero qual'è quell'account che in Postgre è presente di default sin dalla prima installazione del motore db?
Intanto, stiamo parlando di PostgreSQL installato su Windows o Linux ?
Da quanto ho capito (non sono per niente esperto di PostgreSQL ma l'argomento mi interessa) al momento dell'installazione su Windows PostgreSQL crea un proprio utente (di Windows) che utilizzerà per far girare i propri servizi; tipicamente l'utente si chiama "postgres"; non so quale sia la password ma in caso di un servizio in hosting è da presumere che se anche ce ne fosse una di default, essa verrà sicuramente cambiata
Anche ammettendo quindi di conoscere l'utente (non è detto che l'installazione sia stata fatta con tutti i parametri di default, quindi non è nemmeno sicuro che esista effettivamente un utente che sia chiama postgres...) in ogni caso non si conosce la password
Quindi io prevederei che al momento della prima installazione, si vadano ad inserire le informazioni di utente/password necessarie per collegarsi al server (e lanciare uno script che crea il database, eventuali altri utenti, etc)
Questo peraltro ti potrebbe aiutare nel caso eventuale volessi permettere l'utilizzo di altri DB server (SQL Server, Oracle, etc); ognuno ha i propri utenti "di sistema" (sa per SQL Server, SYS ed altri per Oracle, etc) e non è certo pensabile di poterli conoscere tutti a priori (e soprattutto di conoscerne le password...)
Molti applicativi che conosco gestiscono in maniera separata le funzioni di "creazione iniziale del database" e "backup/ripristino"; il backup/ripristino è una funzionalità di uso comune e quindi viene inserita nell'applicativo "principale"; l'altra viene eseguita una sola volta all'inizio e quindi spesso si utilizza proprio un piccolo applicativo separato, dedicato solo a questa prima installazione/configurazione