Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diapositivas Iti2007 PDF
Diapositivas Iti2007 PDF
Opciones:
Opciones de conexión:
-h, --host=ANFITRIÓN nombre del servidor o directorio del socket
-p, --port=PUERTO puerto del servidor
-U, --username=USUARIO nombre de usuario para la conexión
-W, --password preguntar la contraseña
Opciones:
-s, --superuser el rol será un superusuario
-S, --no-superuser el rol no será un superusuario
-d, --createdb el rol podrá crear bases de datos
-D, --no-createdb el rol no podrá crear bases de datos
-r, --createrole el rol podrá crear otros roles
-R, --no-createrole el rol no podrá crear otros roles
-l, --login el rol podrá conectarse (predeterminado)
-L, --no-login el rol no podrá conectarse
-i, --inherit el rol heredará los privilegios de los roles de
los cuales es miembro (predeterminado)
-I, --no-inherit rol no heredará privilegios
-c, --connection-limit=N límite de conexiones para el rol
(predeterminado: sin límite)
-P, --pwprompt asignar una contraseña al nuevo rol
-E, --encrypted almacenar la constraseña cifrada
-N, --unencrypted almacenar la contraseña sin cifrar
-e, --echo mostrar los comandos a medida que se ejecutan
-q, --quiet no escribir ningún mensaje
--help desplegar esta ayuda y salir
--version desplegar información de versión y salir
Estructura Lógica:
Creación usuarios y roles (VIII)
... Continuación
Opciones de conexión:
-h, --host=ANFITRIÓN nombre del servidor o directorio del socket
-p, --port=PUERTO puerto del servidor
-U, --username=NOMBRE nombre de usuario con el cual conectarse
(no el usuario a crear)
-W, --password pedir contraseña para conectarse
Desde SQL:
Opciones:
Opciones de desarrollador:
-f s|i|n|m|h impedir el uso de algunos tipos de planes
-n no reinicializar memoria compartida después de salida anormal
-O permitir cambios en estructura de tablas de sistema
-P desactivar índices de sistema
-t pa|pl|ex mostrar tiempos después de cada consulta
-T enviar SIGSTOP a todos los backends si uno de ellos muere
-W NÚM espera NÚM segundos para permitir acoplar un depurador
Opciones comunes:
-D, --pgdata DATADIR ubicación del área de almacenamiento de datos
-s, --silent mostrar sólo errores, no mensajes de información
-w esperar hasta que la operación se haya completado
-W no esperar hasta que la operación se haya completado
--help mostrar este texto y salir
--version mostrar información sobre versión y salir
(Por omisión se espera para las detenciones, pero no los inicios o reinicios)
Empleo:
pg_ctl start [-w] [-D DATADIR] [-s] [-l ARCHIVO] [-o «OPCIONES»]
pg_ctl stop [-W] [-D DATADIR] [-s] [-m MODO-DETENCIÓN]
pg_ctl restart [-w] [-D DATADIR] [-s] [-m MODO-DETENCIÓN] [-o «OPCIONES»]
pg_ctl reload [-D DATADIR] [-s]
pg_ctl status [-D DATADIR]
pg_ctl kill NOMBRE-SEÑAL ID-DE-PROCESO
● Ficheros binarios
● Ficheros $PGDATA (cluster)
● Ficheros de tablespaces
● Ficheros de configuración
● Socket para conexiones locales
Seguridad: Acceso clientes (I)
● Ficheros de configuración:
– pg_hba.conf
– pg_ident.conf
● Fichero pg_hba.conf: configuración de
autenticación
TIPO BASE DATOS USUARIO DIRECCION METODO
LOCAL <base datos> <usuario> <metodo-autenticacion [opción]
HOST <base datos> <usuario> <direccionCIDR> <metodo-autenticacion [opción]
HOSTSSL <base datos> <usuario> <direccionCIDR> <metodo-autenticacion [opción]
HOSTNOSSL <base datos> <usuario> <direccionCIDR> <metodo-autenticacion [opción]
Seguridad: Acceso clientes (II)
● Métodos de autenticación:
– Trust
– Reject
– Password
– Crypt
– MD5
– KRB5
– Ident (sameuser / mapeo usuario -> pg_ident.conf)
– PAM
– LDAP
Seguridad: Nivel lógico
● Creación de roles (superuser, createuser,
createdb)
● GRANT y REVOKE:
– Bases de datos
– Tablespaces
– Lenguajes
– Esquemas
– Tablas y vistas
– Procedimientos y funciones
Procesamiento de Instrucciones (I)
● Todo o nada
● BEGIN / COMMIT / ROLLBACK
– Restricciones inmediatas o diferidas
– Modo autoconfirmación
● SAVEPOINT
BEGIN;
… operaciones1
SAVEPOINT paso2;
… operaciones2
… si error => ROLLBACK paso2;
… operaciones3
COMMIT;
Gestión transacciones: Consistencia (III)
● Reglas de integridad:
– Not null
– Check
– Unique
– Primary Key
– Foreign Key: únicas que son diferibles:
[DEFERRABLE]
[INITIALLY {INMEDIATE | DEFERRED}]
Gestión transacciones: Consistencia (IV)
● Foreign Key:
[DEFERRABLE]
[INITIALLY {INMEDIATE | DEFERRED}]
– Deferrable: el punto de comprobación se puede
cambiar dinámicamente
– Inmediate: se comprueba después de cada
sentencia SQL
– Deferred: la comprobación se realiza al final de
la transacción.
Gestión transacciones: Aislamiento (IV)
● Control de concurrencia:
– No se basa en el uso bloqueos
– Se basa en el uso de MVCC (multiversion
Concurrency Control)
● MVCC: cada transacción ve una
“instantánea” de la BD tal como era al
empezar la transacción.
● Lectores y escritores no necesitan
esperarse.
Gestión transacciones: Aislamiento (V)
● Fichero postgresql.conf
● Activación de la modificación de valores:
– Con el servidor en marcha (SET)
– Recargando el fichero (pg_ctl reload)
– Reiniciando el servidor (pg_ctl restart)
Configuración entorno - postgresql.conf (III)
● Ubicación de ficheros
● Conexión
– listen_adresses
– Port
– max_connections
– superuser_reserved_connections
– unix_socket_directory
● Seguridad y autenticado
– ssl
Configuración entorno - postgresql.conf (IV)
● Uso de recursos
– shared_buffers
– work_mem
– max_prepared_transaction
– max_fsm_relations
– max_fsm_pages
– max_lock_per_transaction
– Retraso de vacuum
– Proceso de fondo writer
● WAL
– wal_buffers
– checkpoints_segments
– checkpoint_timeout
Configuración entorno - postgresql.conf (V)
● Gestión de bloqueos
– deadlock_timeout
–
● Opciones predefinidas
– sólo se pueden cambiar en la instalación
– block_size
– integer_datetime
– lc_collate, lc_ctype
– max_identifier_length
– max_ident_keys
– server_encoding
Internacionalización y localización (I)
<idioma>_<ubicacion>.<cjto_caracteres>@<modificadores>
Codificación: Responsabilidades (II)
● Copias de seguridad
● Recuperación de datos
● Migración de versiones
Copias de seguridad(II)
Opciones generales:
-f, --file=ARCHIVO nombre del archivo de salida
-F, --format=c|t|p Formato del archivo de salida
(personalizado, tar, sólo texto)
-i, --ignore-version procede aún cuando las versiones del servidor
y pg_dump no coinciden
-Z, --compress=0-9 nivel de compresión para formatos comprimidos
Opciones de la conexión:
-h, --host=ANFITRIÓN anfitrión de la base de datos o el
directorio del enchufe (socket)
-p, --port=PUERTO número del puerto de la base de datos
-U, --username=USUARIO nombre de usuario con el cual conectarse
-W, --password fuerza un prompt para la contraseña
(debería ser automático)
Opciones de la conexión:
● Funciones:
– Recuperar espacio en disco (filas modificadas
o borradas)
– Actualizar estadísticas
– Evitar pérdidas de datos antiguos por reuso de
identificador de transacciones
● Ejecutar
– desde S.O. o desde SQL
– Sobre una tabla o sobre la base de datos
VACUUM (y II)
● Opciones
– FULL: libera y reorganiza
– No FULL: solo libera
– ANALYZE
– FREEZE: inicializa XID (identif. transacciones)
● Estrategias
● Autovacuum
REINDEX
● Desde S.O.
● Desde SQL
● De tablas, índices, base de datos y sistema
● Cuidado con los archivos WAL
Fichero de Seguimiento
● Formas de seguimiento
– Salida estandar
– Fichero indicado al iniciar
– Usar syslog del sistema
● Conveniencia de rotación de logs:
– Mejor información
– Mejor rendimiento
● Parámetros en postgresql.conf
– Dónde y cómo
– Cuándo
– Qué
Catálogo del Sistema
● Conclusiones
● Opiniones del curso a alarcon_jos@gva.es
Muchas gracias
José M. Alarcón Medina