7 votos

/System/Library/LaunchDaemons/com.apple.servermgrd.plist Falta Causantes de postgres para que no se inicie correctamente

Recientemente he actualizado mi Mac Mini Server a Yosemite y la app Server 4.0. Cuando traté de verificar que Postgres está disponible al ejecutar sudo serveradmin fullstatus postgres me sale el siguiente error:

postgres:error = <62706c69 73743030 d4010203 04050618 19582476 65727369 6f6e5824 6f626a65 63747359 24617263 68697665 72542474 6f701200 0186a0a4 07081112 55246e75 6c6cd409 0a0b0c0d 0e0f1056 4e53436f 64655a4e 53557365 72496e66 6f584e53 446f6d61 696e5624 636c6173 73100180 00800280 035f1014 636f6d2e 6170706c 652e7365 72766572 6d677264 d2131415 165a2463 6c617373 6e616d65 5824636c 61737365 73574e53 4572726f 72a21517 584e534f 626a6563 745f100f 4e534b65 79656441 72636869 766572d1 1a1b5472 6f6f7480 0108111a 232d3237 3c424b52 5d666d6f 7173758c 919ca5ad b0b9cbce d3000000 00000001 01000000 00000000 1c000000 00000000 00000000 00000000 d5>
postgres:errorDescription = "The operation couldn't be completed. (com.apple.servermgrd error 1.)"
postgres:errorCode = 1

Cuando he intentado ejecutar sudo launchctl load-w /System/Library/LaunchDaemons/com.apple.servermgrd.plist tengo el siguiente error:

/System/Library/LaunchDaemons/com.apple.servermgrd.plist: No existe el fichero o el directorio

He intentado hacer lo mismo en /Library/Preferences/com.apple.servermgrd.plist y obtuve el siguiente error:

/Library/Preferences/com.apple.servermgrd.plist: Invalid or missing service identifier

Mi conjetura es que el primer archivo es el que está tratando de acceder a lo que falta. No estoy seguro de que lo eliminó el archivo. ¿Cómo puedo crear este archivo? He sitios web usando el Servicio Web que están abajo.

Supongo que si no puedo averiguar voy a restaurar la copia de seguridad justo antes de actualizar a Yosemite en mis dos servidores. Oh, bueno.

10voto

Tim BL Puntos 31

"No válido o no el identificador de servicio" parece significar que su archivo plist, que no tiene o ha escrito mal una sección como

<key>Label</key>
<string>com.foo.bar</string>

Nota "de la Etiqueta" debe comenzar con mayúscula L.

1voto

Pooky Puntos 380

Comenzando con OS X Server versión 4.0 parece que Apple no quiere utilizar el construido-en PostgreSQL:

La base de datos Postgres utiliza OS X Server es sólo para uso con el servicio de datos utilizados por el sistema. Evitar la adición de contenido personalizado para esta base de datos. Si usted desea ejecutar Postgres en su OS X Server, usted debe descargar e instalar su propia instancia.

Pero todavía hay una manera de utilizarla. Utilice los siguientes comandos en la Terminal:

sudo mkdir -p /Library/Server/PostgreSQL/Config
sudo chown -R _postgres:_postgres /Library/Server/PostgreSQL
sudo -u _postgres vim /Library/Server/PostgreSQL/Config/org.postgresql.postgres.plist

a continuación copiar, pegar y guardar esta:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ProgramArguments</key>
    <array>
        <string>-D</string>
        <string>/Library/Server/PostgreSQL/Data</string>
        <string>-c</string>
        <string>listen_addresses=127.0.0.1,::1</string>
        <string>-c</string>
        <string>log_connections=on</string>
        <string>-c</string>
        <string>log_directory=/Library/Logs/PostgreSQL</string>
        <string>-c</string>
        <string>log_filename=PostgreSQL.log</string>
        <string>-c</string>
        <string>log_line_prefix=%t </string>
        <string>-c</string>
        <string>log_lock_waits=on</string>
        <string>-c</string>
        <string>log_statement=ddl</string>
        <string>-c</string>
        <string>logging_collector=on</string>
        <string>-c</string>
        <string>unix_socket_directories=/private/var/pgsql_socket</string>
        <string>-c</string>
        <string>unix_socket_group=_postgres</string>
        <string>-c</string>
        <string>unix_socket_permissions=0770</string>
    </array>
</dict>
</plist>

También editar

sudo vim /System/Library/LaunchDaemons/org.postgresql.postgres.plist

a continuación copiar y pegar esto:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>org.postgresql.postgres</string>
    <key>UserName</key>
    <string>_postgres</string>
    <key>GroupName</key>
    <string>_postgres</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Server.app/Contents/ServerRoot/usr/bin/postgres</string>
        <string>--apple-configuration</string>
        <string>/Library/Server/PostgreSQL/Config/org.postgresql.postgres.plist</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>StandardErrorPath</key>
    <string>/Library/Logs/PostgreSQL/PostgreSQL.log</string>
    <key>StandardOutPath</key>
    <string>/Library/Logs/PostgreSQL/PostgreSQL.log</string>
</dict>
</plist>

Para instalar ¿

sudo launchctl load -w /System/Library/LaunchDaemons/org.postgresql.postgres.plist
sudo -u _postgres psql postgres

y Postgres le dará la bienvenida con

psql (9.3.5)
Type "help" for help.
postgres=# 

0voto

gummy Puntos 131

En las versiones más recientes de Mac OS X Server (realmente cualquier cosa en marcha de Servidor.app), la launchd archivo plist para el servidor de backend demonio vive en el interior del Servidor.aplicación de paquete de sí mismo, y no gestionada directamente por launchctl. Si usted tiene un archivo en la antigua ruta de acceso, quedará a través de un sistema anterior y ya no es funcional.

Asimismo, con la com.apple.servermgrd.plist en el archivo de preferencias, no es un launchd trabajo plist y no se carga por launchctl.

La mayor parte de los archivos de configuración en el Servidor de 4.0 y posteriores de vivir en /Library/Servidor

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X