La mia porta predefinita di PostgreSQL è 5432, voglio cambiare la porta predefinita utilizzando la riga di comando (in Windows 7).
Ho già visto questa soluzione: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port
Ho provato a eseguire quanto segue comando, ma non è riuscito:
postgres --p 5431
Qualcuno potrebbe dirmi come cambiare porta nellusare la riga di comando?
Risposta
Dato che “sei su Windows e probabilmente stai avviando PostgreSQL come servizio Windows, tu” Dovrò modificare postgresql.conf
(allinterno della directory dei dati) per impostare la nuova porta lì, quindi riavviare il servizio postgresql utilizzando il pannello di controllo dei servizi o (come amministratore) il net service
.
Puoi utilizzare uno strumento di modifica del testo a livello di codice per modificare postgresql.conf
se devi automatizzarlo. Su una macchina Linux / unix dovresti utilizzare uno strumento come sed
o awk
, ma su Windows immagino che utilizzerai VBS , powershell o uno strumento aggiuntivo come Perl.
Dovrai modificare le impostazioni di connessione in strumenti come PgAdmin-III
per utilizzare la nuova porta.
Se stavi avviando PostgreSQL manualmente utilizzando pg_ctl
potresti impostare la variabile di ambiente PGPORT
o passare unopzione di configurazione nella riga di comando. Non funzionerà quando “lo” riavvii come servizio Windows.
Commenti
Risposta
- vai a .. \ PostgreSQL \ 9.0 \ data e apri il file postgresql.conf nelleditor di testo / blocco note
- cerca il parametro della porta .eg: port = 5433
- modificalo con il tuo numero di porta.
- vai a eseguire il tipo services.msc e riavvia il servizio postgresql.
puoi controllare se il parametro è impostato o meno tramite Query Tool. basta eseguire la query show port
. visualizzerà il numero di porta corrente. Se stai usando pgAdmin per connetterti a db assicurati di aver cambiato il numero di porta nelle impostazioni di connessione.
Rispondi
Una soluzione che non non richiede alcuna sostituzione di testo o tecniche simili è configurare la porta diversa in un file di configurazione separato, quindi aggiungere una direttiva include al file postgresql.conf
.
ad esempio
echo port = 5431 > \path\to\datadir\custom.conf echo include custom.conf>> \path\to\datadir\postgresql.conf
(Ovviamente \path\to\datadir\
deve essere sostituito con il percorso corretto)
Il primo comando echo
crea un nuovo file con solo la configurazione della porta. Il secondo aggiunge una direttiva include al file di configurazione postgres esistente. Poiché le impostazioni “successive” sostituiscono le impostazioni “precedenti” nel file, qualsiasi configurazione della porta eseguita in postgresql.conf
verrà sovrascritta con quella nel file di configurazione personalizzato.
pg_ctl
.