- Yo
apt-get
instalado PostgreSQL 9.2.4 (utilizando PPA). - Solía
pg_dropcluster --stop 9.2 main
eliminar el clúster de base de datos predeterminado, porque tenía la intención de crear un nuevo clúster en un volumen SSD separado (un volumen de almacenamiento en bloque de Rackspace) que se acababa de montar. - Creé ese nuevo clúster cuyos datos residen en mi volumen SSD y lo inicié (
ps
muestra todos los procesos normales de Postgres que se ejecutan para ese nuevo clúster y puedo abrir un shell de Postgres y ejecutar SQL, es decir, funciona bien). Ahora cuando corropg_lsclusters
no hay ninguno en la lista.
El main
clúster aparece muy bien antes de eliminarlo. ¿Por qué no aparece mi nuevo clúster, incluso cuando se está ejecutando? Incluso he reiniciado el servidor (por si acaso).
postgresql
postgresql-9.2
orokusaki
fuente
fuente
pg_wrapper
embargo, no se usan muchas distribuciones )initdb -D /the/dir/
- Creo que me acabo de dar cuenta de que debería haber usadopg_createcluster -d /the/dir/
¿no debería haberlo hecho? ¿Son ambos iguales, menos los metadatos adicionales que Postgres almacena sobre el clúster? (Estoy en Ubuntu 12.04.2)pg_ctlcluster 9.2 mycluster start
pg_wrapper
tienes que hacerlo de manera consistente.Respuestas:
Para usar estas herramientas comunes de postgres con un clúster, deben usarse de manera consistente. Lo usarías
pg_createcluster -d /path/to/data
, en lugar deinitdb
.pg_createcluster
agrega el clúster parapostgres-common
facilitar estas prácticas operaciones. Es un contenedor, al igualpg_ctlcluster
que las herramientas de nivel inferior (por ejemplo,initdb
ypg_ctl
), que proporciona acceso desde un lugar para operar en todos sus clústeres. También tiene algunos valores predeterminados, como una ubicación de registro configurada automáticamente según el nombre del clúster. Esto significa que no tiene que usarlo-l /var/log/my-custom.log
al crear o iniciar el servidor.fuente