En el modo cliente-servidor el sistema 1C:Enterprise requiere el uso de un sistema de gestión de base datos externo. Una de las opciones es Postgre SQL. Postgre SQL esta disponible para Windows OS y para Linux. Este manual es para instalar en el sistema Linux CentOS (Redhat, Oracle Linux) y Windows
Guia paso por paso
Para el correcto funcionamiento hay que aplicar unos parches a Postgre SQL. Este trabajo ya fue realizado por expertos de 1C, por lo que puede descargar la versión de Postgres con todos los parches incluidos.
Primero descargue el Postgre SQL.
Descarga de instalador para Windows
Puede descargar la versión x32 o x64 desde este pagina.
PostgresPro 1C_9.4.10_X86bit_1C_Setup.exe
PostgresPro 1C_9.4.10_X64bit_1C_Setup.exe
Proceda con la instalación siguiendo las instrucciones en la ventana de instalación.
Instalación de PostgreSQL para Linux
Para Linux, lo mas rápido es instalar el repositorio e instalar el postgresql.
Cambio de locale para el correcto funcionamiento del sistema
1C:Enterprise requiere que el locale con cual se crea la base de datos coincide con el locale de aplicacion. Hay varias modos como definir el local para una base de datos. Lo mas sencillo es definir el locale antes de inicializacion de postgres. Aunque es posible pasar locale como parámetro en el comando de inicializacion no siempre este parámetro se considera correctamente. Por eso le recomendamos modificar el archivo /etc/init/d/postgresql
CentOS 8
Para habilitar locale en CentOS 8 hay que ejecutar el comando yum install langpacks-es
Inicializacion de la base de datos
Inicie la base de datos de postgresql. Sin este paso postgresql no va arrancar y se termina con un error.
Postgresql Pro 1C 12
/opt/pgpro/1c-12/bin/pg-setup initdb --locale=es_EC.UTF-8
Postgresql 10, últimos versiones de 9
export PGSETUP_INITDB_OPTIONS="--locale='es_EC.utf8'" /usr/pgsql-10/bin/postgresql-10-setup initdb
Postgresql 9
service postgresql initdb es_EC.utf8
Ejecutar la SGBD al arrancar el servidor
Para la correcta ejecución de Postgresql hay que incluirlo en los scripts del inicio del servidor
systemctl enable postgrespro-1c-12
Establecer contrasena para usuario postgres
su postgres psql
En caso de instalaciones de postgre Pro hay que apuntar con toda la ruta, por ejemplo
/opt/pgpro/1c-12/bin/psq
ALTER ROLE postgres WITH PASSWORD '1c_password';
Permitir el acceso a la base de datos
Sin configuración de acceso, el servidor de 1C:Enterprise no va poder conectarse a la base de datos. Los accesos de postgresql se configuran en un fichero de configuración pg_hba.conf. Su ubicación exacta dependerá de la instalación, pero normalmente se encuentra en una de estas dos rutas:
- /var/lib/pgsql/data/pg_hba.conf
- /etc/postgresql/main/pg_hba.conf
El contenido del archivo tendrá algo así:
# TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 trust
Por omisión 1C:Enterprise intenta conectarse localmente (si el servidor de base de datos y servidor de aplicaciones están en la misma maquina) a través de IPv6, entonces hay que habilitar la posibilidad de conectar por el protocolo IPv6. En el ejemplo, lo permitimos con la directiva "trust".
Para permitir conexiones con contrasena se usa directiva "md5"
Permitir conexiones de otros servidores
En el archivo postgresql.conf cambiar la linea
listen_addresses = 'localhost'
por linea
listen_addresses = '*'
En el archivo pg_hba.conf incluir lineas
host all all 0.0.0.0/0 md5 host all all ::/0 md5
y reiniciar el servidor
Para mayor información por favor consulte los manuales de PostgreSQL
Artículos relacionados