Gestión de bases de datos PostgreSQL - Capítulo 1 Instalación y configuración

PostgreSQL Base de Datos

Capítulo 1 Instalación y configuración

contorno

PostgreSQL es un código fuente muy poderosa, abierta para el sistema / servidor relacional de gestión de base de datos de cliente (RDBMS). tipos de datos (tales como JSON y tipo JSONB, tipo de matriz) es compatible con el tipo rico y personalizado. El tamaño de la memoria de página por defecto de PostgreSQL es 8kB.

 

PostgreSQL tiene las siguientes características principales:

1 soporte de lenguaje SQL Bueno, apoyar la ACID , integridad asociado, las transacciones de bases de datos, Unicode multilingüe.

2 diseño de alta simultáneas de lectura y escritura y no obstruyen

3 soporta un número de tipos de modelos de base de datos: relacional, tipo de documento (tales como JSON y tipo JSONB, tipo de matriz), Key / tipos de valor.

1 instalar PostgreSQL

    1. Instalación de paquetes PostgreSQL bajo rpm Linux

1 instalación RPM repositorio:

Yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

paquete RPM instalar el servidor 2

yum lista postgresql11-server.x86_64

 3 instalar el paquete de cliente:

yum lista postgresql11.x86_64 

4 para inicializar la base de datos y permitir el inicio automático:

/ Usr / pgsql-11 / bin / postgresql-11-configuración initdb
systemctl permiten PostgreSQL-11
systemctl inicio de PostgreSQL-11

 

PostgreSQL 1.2 instalación de Linux del paquete fuente

1 entorno del sistema para establecer

gcc, bisonte, gcc-c ++, readline, readline-devel, zlib, zlib-devel

yum install gcc * * -y

[Root @ Redhat7 ~] # yum install -y * * bisontes

[Root @ Redhat7 ~] # yum install -y * * readline

[Root @ Redhat7 ~] # yum install -y * * zlib  

2 y optimización de sistemas Linux

ulimit funciones: control del programa shell recurso

En el momento tras el despliegue de aplicaciones de Linux, a veces se encuentran Socket File /: No se puede abrir tantos archivos en cuestión; este valor también afectará a la cantidad máxima de servidor concurrente, de hecho, hay un límite de identificador de archivo de Linux, pero por defecto de Linux no muy alta, por lo general 1024, con el servidor de producción es realmente muy fácil llegar a este número. Debajo de eso es la manera de corregir los valores predeterminados del sistema de configuración de la solución positiva.

/etc/security/limits.conf

nproc suave: número máximo de procesos disponibles para un solo usuario (más de WARN);

nproc duro: número máximo de procesos disponibles para un solo usuario (más que ser determinado);

nofile suave: para abrir el número máximo (más de WARN) descriptor de archivo;

nofile duro: el número máximo de descriptores de archivos abiertos (más que ser determinado);

# Fin de f11e

* Nof1le suave 1024000

* Nofile duro 1024000

* Suave nproc 1024000

* Nproc duro 1024000

 

[Root @ Redhat7 ~] # cat /etc/security/limits.d/20-nproc.conf

# Límite predeterminado para el número de procesos de usuario para prevenir

# Bomba fork accidental.

# Ver Rhbz # 432903 para el razonamiento.

 

* Suave nproc 4096

raíz nproc suave ilimitada

modificado para

 

* Suave nproc 1024000

* Nproc duro 1024000

raíz nproc suave ilimitada

 

 

 

3 Cree el usuario postgres, y crear el directorio de instalación

[Root @ Redhat7 ~] # useradd postgres

[Root @ Redhat7 ~] # mkdir /opt/pgsql11.4 crear directorios de inicio PG

[Root @ Redhat7 ~] # mkdir / PGDB crear datos pg

[Root @ Redhat7 ~] # chown -R Postgres: postgres /opt/pgsql11.4/

[Root @ Redhat7 ~] # chown -R Postgres: postgres / PGDB

 

4 Instalación de PostgreSQL

[Root @ pgsql11.4 Redhat7] # tar -zxvf PostgreSQL-11.4.tar.gz

[Root @ Redhat7 PostgreSQL-11.4] # ./configure --prefix = / opt / pgsql11.4

hacer

make install

completa instalación de PostgreSQL.

Puerto prefix = PREFIJO - instalación de ruta modificada con mayor frecuencia

Boca con- tamaño de bloque = BLOCKSIZE - tamaño de bloque de base de datos, el valor predeterminado de 8 KB

escena OLAP en este valor se puede aumentar a 32 kB, con el fin de mejorar el rendimiento de OLAP, se recomienda utilizar los valores predeterminados de 8 kb en escenarios OLTP.

Puerto con SEGSIZE-= SEGSIZE - segmento de tamaño de archivo de la tabla, por defecto de 1 GB

Boca con llvm-- basado compilador JIT utilizar Ivm

Puerto with-Wal-blocksize = BLOCKSIZE: WAL especifican el tamaño de bloque del archivo, el valor predeterminado es 8kB.

Puerto with-Wal-SEGSIZE = SEGSIZE: WAL especificar un tamaño de archivo único, por defecto es de 16 MB.

5 variable de entorno de configuración

relativamente amplio

que /home/postgres/.bash_profile

Añadir contenido:

exportación PGPORT = 8432

exportación PGHOME = / usr / pgsql-11

exportación PGDATA = / mnt / db1 / PGDATA / pgsql

Export PATH = $ PGHOME / bin: $ PATH

exportación MANPATH = $ PGHOME / share / man: $ MANPATH

export LANG = en_US.UTF-8

Fecha de exportación = 'fecha + "% Y% m% d% H% M"'

exportación LD_LIBRARY_PATH = $ PGHOME / lib: $ LD_LIBRARY_PATH

exportación PGHOST = $ PGDATA

exportación PGUSER = postgres

Puede ser utilizado

PGHOME = / opt / pgsql11.4

exportación PGHOME

PGDATA = / PGDB

exportación PGDATA

Export PATH = $ PGHOME / bin: $ PATH

export PATH

6 inicializar la base de datos

Comando para inicializar el cluster de base de datos utilizando initdb

Un -D: Inicio guía de clúster de base de datos

-E: base de datos de codificación de caracteres

--wal-SEGSIZE: tamaño de archivo de registro WAL

- -U: especificar el superusuario

 

initdb -D / PGDB /

[Postgres @ RHCE7 ~] $ initdb -D / PGDB /

Los archivos que pertenecen a este sistema de base de datos serán propiedad de usuario "postgres".

Este usuario también debe poseer el proceso del servidor.

 

El clúster base de datos se inicializa con locale "zh_CN.UTF-8".

La codificación de la base de datos por defecto en consecuencia se ha ajustado a "UTF-8".

initdb: no se pudo encontrar la configuración de búsqueda de texto adecuados para la configuración regional "zh_CN.UTF-8"

La configuración por defecto de búsqueda de texto se establece en "simple".

 

sumas de comprobación de página de datos están desactivados.

 

la fijación de permisos en el directorio / PGDB existente ... ok

crear subdirectorios ... ok

max_connections selección por defecto ... 100

la selección por defecto shared_buffers ... 128 MB

seleccionar por defecto la zona horaria ... República Popular China

la selección de la memoria dinámica compartida aplicación ... POSIX

la creación de los archivos de configuración ... ok

ejecutar el script de arranque ... OK

la realización de inicialización posterior al arranque ... OK

la sincronización de datos en el disco ... ok

 

ADVERTENCIA: activar la autenticación de "confianza" para conexiones locales

Puede cambiar esto editando pg_hba.conf o utilizando la opción -A, o

--auth-local y --auth-anfitrión, la próxima vez que ejecute initdb.

 

Éxito. Ahora puede iniciar el servidor de base de datos mediante:

 

    pg_ctl -D / PGDB / -l archivo de registro iniciar

 

[Postgres @ RHCE7 ~] $ pg_ctl -D / PGDB / -l archivo de registro comienzan

esperando que el servidor para iniciar .... hecho

servidor se ha iniciado

7 en el arranque

 

[Root @ RHCE7 ~] # vim /usr/lib/systemd/system/postgresql-11.service

 

[Unidad]

Descripción = servidor de base de datos PostgreSQL

Después = network.target

 

[Servicio]

Type = bifurcación

 

Usuario = postgres

Grupo = postgres

 

# Número de puerto para el servidor para que escuche en

Medio Ambiente = PGPORT = 5432

 

# Ubicación de la base de datos de directorio

Medio Ambiente = PGDATA = / PGDB /

 

# A dónde enviar mensajes de principios del inicio del servidor (antes de la tala

# Opciones de efecto postgresql.conf tomar)

# Este es normalmente controlada por el conjunto predeterminado global systemd

# StandardOutput = syslog

 

# Desactivar matanza OOM en el jefe de correos

OOMScoreAdjust = -1,000

 

# ExecStartPre = / opt / pgsql11.4 / bin / postgresql-cheque-db-dir $ {} PGDATA

ExecStart = / opt / pgsql11.4 / bin / pg_ctl comenzar -D $ {} PGDATA -s -o "-p $ {} PGPORT" -w -t 300

ExecStop = / opt / pgsql11.4 / bin / pg_ctl parada D $ {} -s PGDATA rápida -m

ExecReload = / opt / pgsql11.4 / bin / pg_ctl recarga D $ {} -s PGDATA

 

# Dar un plazo de tiempo razonable para que el servidor para poner en marcha / apagar

TimeoutSec = 300

 

[Instalar en pc]

WantedBy = multi-user.target

 

 

[Root @ RHCE7 ~] # systemctl permiten /usr/lib/systemd/system/postgresql-11.service

Init pruebas 6 reinicio

 

[Root @ RHCE7 ~] # systemctl estado de PostgreSQL-11.service

● PostgreSQL-11.service - servidor de base de datos PostgreSQL

   Cargado: cargado (/usr/lib/systemd/system/postgresql-11.service; habilitado; proveedor prefijado: desactivado)

   Activo: activo (correr) desde 日 09/15/2019 00:37:04 CST; Hace 47s 3min

  Proceso: 936 ExecStart = / opt / pgsql11.4 / bin / pg_ctl comenzar -D $ {} PGDATA -s -o -p $ {} PGPORT -w -t 300 (código = salido, estado = 0 / ÉXITO)

1.3PostgreSQL acceso remoto (versión para Linux)

versión para Linux de forma predeterminada PostgreSQL no puede acceder directamente a la base de datos remota, por tanto, es necesario modificar la configuración de base de datos PostgreSQL para el acceso remoto.

funcionamiento específico es como sigue: Las siguientes modificaciones postgresql.conf

Al usuario final a los parámetros add:

listen_address = '*', tener cuidado de no ser comentada

Habilitar la autenticación de contraseña

# Password_encryption = MD5 modificado como password_encryption = MD5

 

Modificar el contenido del archivo pg_hba.conf:

Los usuarios pueden acceder al segmento de IP

En el final del archivo añadido: host all all 0.0.0.0/0 confianza

También puede alojar todo todo todo la confianza

 

la base de datos PostgreSQL reinicio: Después de un exitoso comienzo, a continuación, conectar el mando a distancia

 

Publicado 37 artículos originales · ganado elogios 0 · Vistas 2400

Supongo que te gusta

Origin blog.csdn.net/syjhct/article/details/100867439
Recomendado
Clasificación