PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

L'avvio di un server SQL 9.6 postgres su Amazon Linux restituisce un servizio non riconosciuto

Avere lo stesso problema, o simile. Forse ho installato pgsql dal sorgente, non ricordo. Potremmo creare i nostri file di avvio del servizio. Come? Scopriamolo!>>RTFM<

man service

che ci porta a chkconfig(8), quindi

man chkconfig

e ci dà un'opzione

chkconfig --add ${svcname}

per aggiungere un servizio nuovo di zecca con un nome che scegliamo!

Ma prima di farlo, potremmo effettivamente voler controllare cosa c'è già. Con

service --status-all

otteniamo un elenco di tutti i servizi noti e il loro stato di esecuzione. E ho trovato "postmaster" nella mia lista e, come forse saprai, il server master PostgreSQL a cui connettersi era chiamato "postmaster". Eppure, quando ci provo

service postmaster status

mi dice anche che non conosce tale servizio. OK, lascia perdere -- per ora -- andiamo avanti con la creazione del nostro! Ma voglio ancora dare un'occhiata a cosa c'è nel livello di esecuzione 3 (livello di esecuzione del server normale). Quindi vado

ls -1 /etc/rc.d/rc3.d |fgrep post

e lì trovo:"K36postgresql95"! Quindi, di conseguenza, il nostro nome di servizio dovrebbe essere "postgresql95". Provando:

service postgresql95 status

ora dice "postmaster è fermato". In modo confuso, il nome che il servizio riporta per se stesso sia in service --status-all sia quando lo richiediamo individualmente è diverso dal nome utilizzato per indirizzarlo effettivamente nel comando di servizio. Buono a sapersi. Abbastanza facile da cercare in /etc/rc.d il nome di interesse.

service postgresql95 start

ora avvia il servizio. E verifica con

psql -U ${pguser} ${pgdb}

e lo trovo funzionante. Quindi ora tutto ciò che devo fare è abilitare quel servizio all'avvio del sistema per l'avvio automatico

chkconfig --levels 3 postgresql95 on

e funziona, vero?

PS:Non importa se mi capita di eseguire la versione 9.5