SlideShare una empresa de Scribd logo
1 de 5
Preámbulo
Uno de los aspectos más importantes es que postgreSQL “no debería” compartir acceso a disco con el
sistema operativo, esto es, si es posible que postgreSQL esté en una partición distinta a “root” (incluso
un disco separado, de ser recomendable); por lo que la opción “instalar y usar” no debería ser para
instalaciones en producción de postgreSQL 9.1.
Hay que tomar en cuenta que postgreSQL (como cualquier otra base de datos) debería ser optimizada
posteriormente a su instalación de manera correcta, una de las optimizaciones más necesarias (pero que
casi nadie sigue) es gestionar los espacios de datos y separarlos del tablespace pg_default (que gestiona
la DB “postgres”, la DB de “information_schema” y demás información, por lo general en
“/var/lib/postgresql/9.1/main”); además, ambos deberían estar separados de la partición raíz donde está
el sistema operativo.
Preparación primaria
Si estamos instalando un servidor de datos, lo primero que debemos pensar es en separar el montaje de
/var del resto del sistema, de hecho, si podemos incluso separar /var/log sería muy apropiado; también
es bueno separar /tmp (más 1Gb es innecesario) ya que si no separamos /tmp, Debian GNU/Linux
utilizará un tmpfs montado en RAM para gestionar /tmp (restándonos un poco de RAM para trabajar,
además que postgreSQL no utiliza la partición /tmp).
Un esquema básico podría ser:
/ (raiz) (Debian GNU/Linux no ocupa más de 5Gb en este modo)
/tmp (1Gb como máximo)
swap (Lo necesario, aunque no mayor a 2GB en sistemas con más de 4Gb de RAM)
/var (2~4GB ya que será un servidor en producción)
Y de resto, un volumen lógico (LVM) que podemos modificar de tamaño de acuerdo a nuestra
necesidad.
Luego de instalado el sistema, procedemos a instalar PostgreSQL.
Instalación
La instalación de postgreSQL 9.1 en Debian GNU/Linux es bastante sencilla:
Instalamos postgreSQL 9.1:
apt-get install postgresql-9.1
PostgreSQL por defecto, creará una carpeta de configuración en: /etc/postgresql/9.1/main/
Y creará un espacio de datos en: /var/lib/postgresql/9.1/main/
Que no utilizaremos para nuestra base de datos, ya que crearemos un espacio propio.
Configuración inicial
Siempre es recomendable dejar el usuario “postgres” (el super-usuario de PostgreSQL) como un
usuario “para accesos de emergencia”, ya que este usuario tiene garantizado el acceso a todas partes(si
eres root en el sistema), es recomendable que NINGUNA base de datos tenga como “owner” el usuario
postgres (y evitar en lo posible utilizarlo como usuario de acceso desde sistemas, aunque esto,
obviamente lo he visto más de una vez ocurrir hasta en sistemas web).
Configuración de postgreSQL
Accedemos al directorio: /etc/postgresql/9.1/main
cd /etc/postgresql/9.1/main
Si vamos a acceder de manera remota a nuestro postgreSQL, agregamos la siguiente línea al
archivo pg_hba.conf:
# la forma es:
# host -> database (all: todas las db) -> usuario (all: todos los
usuarios) -> subnet (de nuestra red) -> modo de clave
host all jesuslara 192.168.100.0/24 md5
Habilitamos el acceso remoto en nuestro postgreSQL:
archivo: /etc/postgresql/9.1/main/postgresql.conf
listen_addresses = '*'
Optimización del archivo postgresql.conf
Cambiamos algunas opciones básicas del archivo postgresql.conf:
shared_buffers = 256MB
„shared_buffers‟: Es la memoria de trabajo compartida para todo el servidor postgreSQL, fíjese que por
defecto en Debian GNU/Linux la opción es 24MB (y el valor por defecto si comentamos es 32MB), sin
embargo, como esta es la memoria utilizada para trabajo de postgreSQL, es recomendable “al menos”
el 25% de la RAM disponible (y jamás > 40%).
temp_buffers = 16MB
„temp_buffers‟: La memoria temporal utilizada por cada sesión para las tablas temporarias y para
apertura de tablas en cada sesión de cada base de datos, tome en cuenta que este valor dependerá
obviamente de la cantidad de datos que carga cada sesión y dependerá muchísimo del sistema que se
utiliza.
work_mem = 16MB
„work_mem‟: uno de los valores más importantes y más despreciados, “work_mem” se refiere a la
memoria temporal utilizada por cada sesión, para las operaciones de ordenamiento (ORDER BY) para
las sesiones de diferenciación (GROUP … HAVING y DISTINCT) y para la gestión de hash (uniones
HASH, indices HASH, hash_aggregations), si en nuestro sistema realizamos muchísimas consultas
ordenadas, agrupadas, diferenciadas por cadenas, etc se crearán mucho de estos buffers de manera
paralela, mientras más memoria asignemos, menos probabilidades hay que los ordenamientos y otras
operaciones se hagan con archivos temporales en disco (más lentos que la memoria RAM).
max_stack_depth = 8MB
„max_stack_depth‟: define el tamaño del espacio utilizado para cómputo de operaciones complejas, su
valor está asociado al límite máximo que un usuario (en este caso, “postgres”) tiene derecho a reservar
un stack, el valor soportado por nuestra distribución se determina con “ulimit -s”.
shared_preload_libraries = '$libdir/plpython2.so'
„shared_preload_libraries‟: Permite cargar una librería específica cuando arranca el sistema, si
utilizamos muchos procedimientos almacenados en un lenguaje específico (ej: python, perl, tcl, java,
etc), es bueno pre-cargarla para que esté disponible cuando se utilice por primera vez. Nota: esta opción
ralentiza un poco el reinicio del sistema.
bgwriter_delay = 500ms
„bgwriter_delay‟: El background-writer es un proceso del servidor que se encarga de escribir a disco
todos los “shared_buffers” modificados, este proceso conlleva una carga de I/O sobre el disco, su
modificación permite o reducir el valor para evitar en lo más posible pérdidas de datos en equipos que
pueden fallar, o su incremento permite reducir el I/O al disco duro en sistemas perfectamente
protegidos.
Instalacion y configuracion de postgre sql

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
 
Configurar un servicio dhcp en centos 7
Configurar un servicio dhcp en centos 7Configurar un servicio dhcp en centos 7
Configurar un servicio dhcp en centos 7
 
Configuracion Del Zimbra
Configuracion Del ZimbraConfiguracion Del Zimbra
Configuracion Del Zimbra
 
Postgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por DentroPostgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por Dentro
 
Postgresql expo
Postgresql expoPostgresql expo
Postgresql expo
 
Drush
DrushDrush
Drush
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Crear un usuario virtual en el servidor vsftpd con centos 7
Crear un usuario virtual en el servidor vsftpd con centos 7Crear un usuario virtual en el servidor vsftpd con centos 7
Crear un usuario virtual en el servidor vsftpd con centos 7
 
1. system ctl
1. system ctl1. system ctl
1. system ctl
 
Procedimiento Instalacion Ltsp
Procedimiento Instalacion LtspProcedimiento Instalacion Ltsp
Procedimiento Instalacion Ltsp
 
Qué es una posición en el cpu y en la ram
Qué es una posición en el cpu y en la ramQué es una posición en el cpu y en la ram
Qué es una posición en el cpu y en la ram
 
Linux Terminal Server
Linux Terminal ServerLinux Terminal Server
Linux Terminal Server
 
LTSP - Linux Terminal Server Project
LTSP - Linux Terminal Server ProjectLTSP - Linux Terminal Server Project
LTSP - Linux Terminal Server Project
 
Clusters
ClustersClusters
Clusters
 
Comandos de linux
Comandos de linuxComandos de linux
Comandos de linux
 
5 espacio swap
5  espacio swap5  espacio swap
5 espacio swap
 
Fedora 15
Fedora 15Fedora 15
Fedora 15
 

Destacado

Rafeq Otti Accountant
Rafeq Otti AccountantRafeq Otti Accountant
Rafeq Otti AccountantRafeq Otti
 
Anatomi kehamilan + perubahan
Anatomi kehamilan + perubahanAnatomi kehamilan + perubahan
Anatomi kehamilan + perubahanpandas2013
 
Unit PTM for A Level October 2013
Unit PTM for A Level October 2013Unit PTM for A Level October 2013
Unit PTM for A Level October 2013Generation's School
 
Fingerprinting
FingerprintingFingerprinting
Fingerprintingtgherardi3
 
202, Life of Christ, Section 10a Passion Crucifixion Resurrection
202, Life of Christ, Section 10a Passion Crucifixion Resurrection202, Life of Christ, Section 10a Passion Crucifixion Resurrection
202, Life of Christ, Section 10a Passion Crucifixion ResurrectionRichard Chamberlain
 
4 planeación estratégica
4 planeación   estratégica4 planeación   estratégica
4 planeación estratégicaPastoral Salud
 
Counselling workshop and parents teacher meeting for AS Level
Counselling workshop and parents teacher meeting for AS LevelCounselling workshop and parents teacher meeting for AS Level
Counselling workshop and parents teacher meeting for AS LevelGeneration's School
 
Presentacion educar para proteger
Presentacion educar para protegerPresentacion educar para proteger
Presentacion educar para protegerinaenaito
 

Destacado (11)

Rafeq Otti Accountant
Rafeq Otti AccountantRafeq Otti Accountant
Rafeq Otti Accountant
 
Anatomi kehamilan + perubahan
Anatomi kehamilan + perubahanAnatomi kehamilan + perubahan
Anatomi kehamilan + perubahan
 
Dsc 0015
Dsc 0015Dsc 0015
Dsc 0015
 
Examen parcial las tic word
Examen parcial las tic wordExamen parcial las tic word
Examen parcial las tic word
 
Unit PTM for A Level October 2013
Unit PTM for A Level October 2013Unit PTM for A Level October 2013
Unit PTM for A Level October 2013
 
Fingerprinting
FingerprintingFingerprinting
Fingerprinting
 
202, Life of Christ, Section 10a Passion Crucifixion Resurrection
202, Life of Christ, Section 10a Passion Crucifixion Resurrection202, Life of Christ, Section 10a Passion Crucifixion Resurrection
202, Life of Christ, Section 10a Passion Crucifixion Resurrection
 
4 planeación estratégica
4 planeación   estratégica4 planeación   estratégica
4 planeación estratégica
 
Counselling workshop and parents teacher meeting for AS Level
Counselling workshop and parents teacher meeting for AS LevelCounselling workshop and parents teacher meeting for AS Level
Counselling workshop and parents teacher meeting for AS Level
 
Presentacion educar para proteger
Presentacion educar para protegerPresentacion educar para proteger
Presentacion educar para proteger
 
Hz2514321439
Hz2514321439Hz2514321439
Hz2514321439
 

Similar a Instalacion y configuracion de postgre sql

Afinamiento de la_base_de_datos
Afinamiento de la_base_de_datosAfinamiento de la_base_de_datos
Afinamiento de la_base_de_datosUTN
 
Instalación de Servidores GNU/Linux - parte 1
Instalación de Servidores GNU/Linux - parte 1Instalación de Servidores GNU/Linux - parte 1
Instalación de Servidores GNU/Linux - parte 1Max Morales
 
Ltsp linux terminal server project-
Ltsp  linux terminal server project-Ltsp  linux terminal server project-
Ltsp linux terminal server project-jeysonh
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQLEQ SOFT EIRL
 
Hack Crack Samba
Hack  Crack SambaHack  Crack Samba
Hack Crack SambaHxC Store
 
sistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmensistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmenKaren Vidal
 
Tarea 5 sistemas operativos ii
Tarea 5 sistemas operativos iiTarea 5 sistemas operativos ii
Tarea 5 sistemas operativos iiJohan Andres
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com{|::::::. ELDAVAN .:::::::|}
 
High Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on LinuxHigh Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on LinuxOlaf Reitmaier Veracierta
 
Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011Lennin Caro
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfigAprende Viendo
 

Similar a Instalacion y configuracion de postgre sql (20)

Afinamiento de la_base_de_datos
Afinamiento de la_base_de_datosAfinamiento de la_base_de_datos
Afinamiento de la_base_de_datos
 
Particiones
ParticionesParticiones
Particiones
 
Instalación de Servidores GNU/Linux - parte 1
Instalación de Servidores GNU/Linux - parte 1Instalación de Servidores GNU/Linux - parte 1
Instalación de Servidores GNU/Linux - parte 1
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
 
Ltsp linux terminal server project-
Ltsp  linux terminal server project-Ltsp  linux terminal server project-
Ltsp linux terminal server project-
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQL
 
Cent os_
 Cent os_ Cent os_
Cent os_
 
Manejo de sistema operativo
Manejo de sistema operativoManejo de sistema operativo
Manejo de sistema operativo
 
Curso linux operación
Curso linux operaciónCurso linux operación
Curso linux operación
 
Hack Crack Samba
Hack  Crack SambaHack  Crack Samba
Hack Crack Samba
 
Hack x crack_samba
Hack x crack_sambaHack x crack_samba
Hack x crack_samba
 
sistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmensistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmen
 
Tarea 5 sistemas operativos ii
Tarea 5 sistemas operativos iiTarea 5 sistemas operativos ii
Tarea 5 sistemas operativos ii
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
 
Opensuse2
Opensuse2Opensuse2
Opensuse2
 
Clase3 (consola linux)
Clase3 (consola linux)Clase3 (consola linux)
Clase3 (consola linux)
 
High Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on LinuxHigh Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on Linux
 
Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
 
Manual centos_6
Manual centos_6Manual centos_6
Manual centos_6
 

Más de UPTM

Actividad final per admin de bases de datos
Actividad final per admin de bases de datosActividad final per admin de bases de datos
Actividad final per admin de bases de datosUPTM
 
Definición de políticas
Definición de políticasDefinición de políticas
Definición de políticasUPTM
 
Actividad para la reflexión clase 4
Actividad para la reflexión clase 4Actividad para la reflexión clase 4
Actividad para la reflexión clase 4UPTM
 
Material de apoyo clase 4 para el análisis de riesgo
Material de apoyo clase 4 para el análisis de riesgoMaterial de apoyo clase 4 para el análisis de riesgo
Material de apoyo clase 4 para el análisis de riesgoUPTM
 
Clase 4 analisis de riesgos
Clase 4 analisis de riesgosClase 4 analisis de riesgos
Clase 4 analisis de riesgosUPTM
 
Clase 3 de cifrado
Clase 3 de cifradoClase 3 de cifrado
Clase 3 de cifradoUPTM
 
La soberanía y la independencia tecnológica
La soberanía y la independencia tecnológicaLa soberanía y la independencia tecnológica
La soberanía y la independencia tecnológicaUPTM
 
La soberanía y la explotación petrolera
La soberanía y la explotación petroleraLa soberanía y la explotación petrolera
La soberanía y la explotación petroleraUPTM
 
La dimensión territorial de la soberanía
La dimensión territorial de la soberaníaLa dimensión territorial de la soberanía
La dimensión territorial de la soberaníaUPTM
 
Material de Seguridad Fisica/Logica
Material de Seguridad Fisica/LogicaMaterial de Seguridad Fisica/Logica
Material de Seguridad Fisica/LogicaUPTM
 
Unidad 1 origen de la cultura
Unidad 1 origen de la culturaUnidad 1 origen de la cultura
Unidad 1 origen de la culturaUPTM
 
La educación como mecanismo de inclusión social
La educación como mecanismo de inclusión socialLa educación como mecanismo de inclusión social
La educación como mecanismo de inclusión socialUPTM
 
Contexto cultural en la venezuela actual
Contexto cultural en la venezuela actualContexto cultural en la venezuela actual
Contexto cultural en la venezuela actualUPTM
 
Clase 1
Clase 1Clase 1
Clase 1UPTM
 
Programacion Lineal
Programacion LinealProgramacion Lineal
Programacion LinealUPTM
 
Introduccion a la IO
Introduccion a la IOIntroduccion a la IO
Introduccion a la IOUPTM
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
Clase 3 gestion entrada salida
Clase 3 gestion entrada salidaClase 3 gestion entrada salida
Clase 3 gestion entrada salidaUPTM
 
Seguridad de los sistemas operativos
Seguridad de los sistemas operativosSeguridad de los sistemas operativos
Seguridad de los sistemas operativosUPTM
 
Clase 1
Clase 1Clase 1
Clase 1UPTM
 

Más de UPTM (20)

Actividad final per admin de bases de datos
Actividad final per admin de bases de datosActividad final per admin de bases de datos
Actividad final per admin de bases de datos
 
Definición de políticas
Definición de políticasDefinición de políticas
Definición de políticas
 
Actividad para la reflexión clase 4
Actividad para la reflexión clase 4Actividad para la reflexión clase 4
Actividad para la reflexión clase 4
 
Material de apoyo clase 4 para el análisis de riesgo
Material de apoyo clase 4 para el análisis de riesgoMaterial de apoyo clase 4 para el análisis de riesgo
Material de apoyo clase 4 para el análisis de riesgo
 
Clase 4 analisis de riesgos
Clase 4 analisis de riesgosClase 4 analisis de riesgos
Clase 4 analisis de riesgos
 
Clase 3 de cifrado
Clase 3 de cifradoClase 3 de cifrado
Clase 3 de cifrado
 
La soberanía y la independencia tecnológica
La soberanía y la independencia tecnológicaLa soberanía y la independencia tecnológica
La soberanía y la independencia tecnológica
 
La soberanía y la explotación petrolera
La soberanía y la explotación petroleraLa soberanía y la explotación petrolera
La soberanía y la explotación petrolera
 
La dimensión territorial de la soberanía
La dimensión territorial de la soberaníaLa dimensión territorial de la soberanía
La dimensión territorial de la soberanía
 
Material de Seguridad Fisica/Logica
Material de Seguridad Fisica/LogicaMaterial de Seguridad Fisica/Logica
Material de Seguridad Fisica/Logica
 
Unidad 1 origen de la cultura
Unidad 1 origen de la culturaUnidad 1 origen de la cultura
Unidad 1 origen de la cultura
 
La educación como mecanismo de inclusión social
La educación como mecanismo de inclusión socialLa educación como mecanismo de inclusión social
La educación como mecanismo de inclusión social
 
Contexto cultural en la venezuela actual
Contexto cultural en la venezuela actualContexto cultural en la venezuela actual
Contexto cultural en la venezuela actual
 
Clase 1
Clase 1Clase 1
Clase 1
 
Programacion Lineal
Programacion LinealProgramacion Lineal
Programacion Lineal
 
Introduccion a la IO
Introduccion a la IOIntroduccion a la IO
Introduccion a la IO
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Clase 3 gestion entrada salida
Clase 3 gestion entrada salidaClase 3 gestion entrada salida
Clase 3 gestion entrada salida
 
Seguridad de los sistemas operativos
Seguridad de los sistemas operativosSeguridad de los sistemas operativos
Seguridad de los sistemas operativos
 
Clase 1
Clase 1Clase 1
Clase 1
 

Instalacion y configuracion de postgre sql

  • 1. Preámbulo Uno de los aspectos más importantes es que postgreSQL “no debería” compartir acceso a disco con el sistema operativo, esto es, si es posible que postgreSQL esté en una partición distinta a “root” (incluso un disco separado, de ser recomendable); por lo que la opción “instalar y usar” no debería ser para instalaciones en producción de postgreSQL 9.1. Hay que tomar en cuenta que postgreSQL (como cualquier otra base de datos) debería ser optimizada posteriormente a su instalación de manera correcta, una de las optimizaciones más necesarias (pero que casi nadie sigue) es gestionar los espacios de datos y separarlos del tablespace pg_default (que gestiona la DB “postgres”, la DB de “information_schema” y demás información, por lo general en “/var/lib/postgresql/9.1/main”); además, ambos deberían estar separados de la partición raíz donde está el sistema operativo. Preparación primaria Si estamos instalando un servidor de datos, lo primero que debemos pensar es en separar el montaje de /var del resto del sistema, de hecho, si podemos incluso separar /var/log sería muy apropiado; también es bueno separar /tmp (más 1Gb es innecesario) ya que si no separamos /tmp, Debian GNU/Linux utilizará un tmpfs montado en RAM para gestionar /tmp (restándonos un poco de RAM para trabajar, además que postgreSQL no utiliza la partición /tmp). Un esquema básico podría ser: / (raiz) (Debian GNU/Linux no ocupa más de 5Gb en este modo) /tmp (1Gb como máximo) swap (Lo necesario, aunque no mayor a 2GB en sistemas con más de 4Gb de RAM) /var (2~4GB ya que será un servidor en producción) Y de resto, un volumen lógico (LVM) que podemos modificar de tamaño de acuerdo a nuestra necesidad. Luego de instalado el sistema, procedemos a instalar PostgreSQL.
  • 2. Instalación La instalación de postgreSQL 9.1 en Debian GNU/Linux es bastante sencilla: Instalamos postgreSQL 9.1: apt-get install postgresql-9.1 PostgreSQL por defecto, creará una carpeta de configuración en: /etc/postgresql/9.1/main/ Y creará un espacio de datos en: /var/lib/postgresql/9.1/main/ Que no utilizaremos para nuestra base de datos, ya que crearemos un espacio propio. Configuración inicial Siempre es recomendable dejar el usuario “postgres” (el super-usuario de PostgreSQL) como un usuario “para accesos de emergencia”, ya que este usuario tiene garantizado el acceso a todas partes(si eres root en el sistema), es recomendable que NINGUNA base de datos tenga como “owner” el usuario postgres (y evitar en lo posible utilizarlo como usuario de acceso desde sistemas, aunque esto, obviamente lo he visto más de una vez ocurrir hasta en sistemas web). Configuración de postgreSQL Accedemos al directorio: /etc/postgresql/9.1/main cd /etc/postgresql/9.1/main Si vamos a acceder de manera remota a nuestro postgreSQL, agregamos la siguiente línea al archivo pg_hba.conf: # la forma es: # host -> database (all: todas las db) -> usuario (all: todos los usuarios) -> subnet (de nuestra red) -> modo de clave host all jesuslara 192.168.100.0/24 md5
  • 3. Habilitamos el acceso remoto en nuestro postgreSQL: archivo: /etc/postgresql/9.1/main/postgresql.conf listen_addresses = '*' Optimización del archivo postgresql.conf Cambiamos algunas opciones básicas del archivo postgresql.conf: shared_buffers = 256MB „shared_buffers‟: Es la memoria de trabajo compartida para todo el servidor postgreSQL, fíjese que por defecto en Debian GNU/Linux la opción es 24MB (y el valor por defecto si comentamos es 32MB), sin embargo, como esta es la memoria utilizada para trabajo de postgreSQL, es recomendable “al menos” el 25% de la RAM disponible (y jamás > 40%). temp_buffers = 16MB „temp_buffers‟: La memoria temporal utilizada por cada sesión para las tablas temporarias y para apertura de tablas en cada sesión de cada base de datos, tome en cuenta que este valor dependerá obviamente de la cantidad de datos que carga cada sesión y dependerá muchísimo del sistema que se utiliza. work_mem = 16MB „work_mem‟: uno de los valores más importantes y más despreciados, “work_mem” se refiere a la memoria temporal utilizada por cada sesión, para las operaciones de ordenamiento (ORDER BY) para las sesiones de diferenciación (GROUP … HAVING y DISTINCT) y para la gestión de hash (uniones HASH, indices HASH, hash_aggregations), si en nuestro sistema realizamos muchísimas consultas ordenadas, agrupadas, diferenciadas por cadenas, etc se crearán mucho de estos buffers de manera paralela, mientras más memoria asignemos, menos probabilidades hay que los ordenamientos y otras operaciones se hagan con archivos temporales en disco (más lentos que la memoria RAM).
  • 4. max_stack_depth = 8MB „max_stack_depth‟: define el tamaño del espacio utilizado para cómputo de operaciones complejas, su valor está asociado al límite máximo que un usuario (en este caso, “postgres”) tiene derecho a reservar un stack, el valor soportado por nuestra distribución se determina con “ulimit -s”. shared_preload_libraries = '$libdir/plpython2.so' „shared_preload_libraries‟: Permite cargar una librería específica cuando arranca el sistema, si utilizamos muchos procedimientos almacenados en un lenguaje específico (ej: python, perl, tcl, java, etc), es bueno pre-cargarla para que esté disponible cuando se utilice por primera vez. Nota: esta opción ralentiza un poco el reinicio del sistema. bgwriter_delay = 500ms „bgwriter_delay‟: El background-writer es un proceso del servidor que se encarga de escribir a disco todos los “shared_buffers” modificados, este proceso conlleva una carga de I/O sobre el disco, su modificación permite o reducir el valor para evitar en lo más posible pérdidas de datos en equipos que pueden fallar, o su incremento permite reducir el I/O al disco duro en sistemas perfectamente protegidos.