¿Por qué `pg_lsclusters` no enumera mi clúster de Postgres?


9
  1. Yo apt-getinstalado PostgreSQL 9.2.4 (utilizando PPA).
  2. Solía pg_dropcluster --stop 9.2 maineliminar 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.
  3. Creé ese nuevo clúster cuyos datos residen en mi volumen SSD y lo inicié ( psmuestra 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 corro pg_lsclustersno hay ninguno en la lista.

El mainclú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).


Bueno, ¿cómo creaste el nuevo clúster? Además, el sistema operativo host y la versión? Ubuntu ...? Debian ...? ¿Otro? (Sin pg_wrapperembargo, no se usan muchas distribuciones )
Craig Ringer

@CraigRinger - Solía initdb -D /the/dir/- Creo que me acabo de dar cuenta de que debería haber usado pg_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)
orokusaki

Wow, de hecho ese es el caso - y qué herramienta tan increíble con una sintaxis tan simple comopg_ctlcluster 9.2 mycluster start
orokusaki

Sí, lo tienes, si quieres usarlo pg_wrappertienes que hacerlo de manera consistente.
Craig Ringer

@CraigRinger: gracias. Si pones eso en una respuesta (hice una, pero no es excelente), aceptaré la tuya y eliminaré la mía.
orokusaki

Respuestas:


8

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 de initdb. pg_createclusteragrega el clúster para postgres-commonfacilitar estas prácticas operaciones. Es un contenedor, al igual pg_ctlclusterque las herramientas de nivel inferior (por ejemplo, initdby pg_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.logal crear o iniciar el servidor.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.