Vous êtes sur la page 1sur 17

1. JUSTIFICACIN En la actualidad se experimenta una necesidad palpable por estudiantes y profesionales de usar herramientas de bases de datos.

PostgreSQL es un DBMS que satisface al estudiante, profesional, desarrollador de cdigo, DBA, en todos los campos. Este software de cdigo libre es una buena alternativa para el manejo de datos en empresas, universidades, hospitales y otras entidades pblicas o privadas. En la Universidad Tcnica del Norte, Facultad de Ingeniera en Ciencias Aplicadas se imparte la materia de Base de Datos 3 en la cual Postgres es una herramienta indispensable para el desenvolvimiento de la misma. En el presente informe se explica cmo instalar, su configuracin y su funcionamiento en Linux versin Fedora 18.

2. OBJETIVOS 2.1. OBJETIVO GENERAL Entender el funcionamiento de Postgres sobre la plataforma de Linux (Fedora18). 2.2. OBJETIVOS ESPECIFICOS Investigar las principales fuentes de documentacin y entrenamiento disponibles en internet para aprendizaje y certificacin de PostgreSQL. Instalar PostgreSQL sobre Linux (cualquier versin) en modo personalizado. Revisar el archivo de configuracin de PostgreSQL y explicar cada uno de los parmetros. Investigar las arquitecturas existentes en Postgres.

3. MARCO TEORICO Qu es Postgres? PostgreSQL es un sistema de gestin de bases de datos objeto-relacional (ORDBMS), que soporta distintos tipo de datos e incluso nos permite crear estos. Tambin soporta el uso de vistas, reglas, ndices; creacin de triggers, funciones, entre otros. Adems permite la gestin de diferentes usuarios y cada uno de ellos con sus respectivos permisos. Este software libre est orientado a operaciones con redes y operaciones geomtricas. En el siguiente grafico se muestra en forma general los componentes de un sistema de PostgreSQL.

SISTEMA OPERATIVO FEDORA Fedora es una distribucin de Linux basada en RPM, que se caracteriza por ser un sistema estable. El proyecto no busca slo incluir software libre y de cdigo abierto, sino ser el lder en ese mbito tecnolgico. Este SO es altamente eficaz en el campo de la seguridad de redes, en espacio de usuarios Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches especficos en su distribucin, de esta forma se asegura que las actualizaciones estn disponibles para todas las variantes de Linux.

4. DESARROLLO 4.1 Investigar las principales fuentes de documentacin y entrenamiento disponibles en internet para aprendizaje y certificacin de PostgreSQL.

4.2 Instalar PostgreSQL sobre Linux (cualquier versin) en modo personalizado. Instalar el motor de base de datos postgresql (como root): >yum install postgresql-server

>yum install pgadmin3

Luego de instalar el motor de base de datos, se pueden seguir los siguientes pasos:

Inicializar la base de datos como usuario root: >postgresql-setup initdb (Se puede dar un vistazo al archivo /var/lib/pgsql/initdb.log )

Editar el archivo /var/lib/pgsql/data/postgresql.conf:

listen_addresses = '*'

password_encryption = on

Editar el archivo /var/lib/pgsql/data/pg_hba.conf: #TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust

# IPv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.100.0/24 md5 host all all 10.0.2.0/24 md5 # IPv6 local connections: host all all ::1/128 trust

Reiniciar como root el servicio de postgres: >systemctl restart postgresql.service

Cambiar la contrasea del usuario de bdd postgres, para ello, con el usuario postgres ejecutamos: >psql -d template1 -U postgres template1#alter user postgres with password 'postgres'; template1#\q

Reiniciar como root el servicio de postgres: >systemctl restart postgresql.service

Abra la interfaz de postgres (pgAdmin III) y edite la registracin del servidor en la pestaa de Propiedades, y acepte.

Posteriormente aparecer una ventana como la siguiente.

Para revisar los archivos que se crean a nivel de sistema operativo se puede poner el comando: yum list installed postgresql

rpm -ql postgresql Mostrndonos una ventana como la siguiente, con los diferentes archivos instalados.

En el paquete de postgresql se encuentran archivos que contienen documentacin adicional sobre PostgresSQL, como el manual de usuario (formato HTML) y ejemplos bsicos de la utilizacin del mismo. El paquete se compone de 1155 archivos y 7 directorios.

El manual de usuario aclara temas como vistas, triggers, reglas, funciones, primaries keys, secuencias, subqueries, tipos de datos, control de concurrencia, lenguaje de programacin, administrador de servidor, entre otros temas. 4.3 Revisar el archivo de configuracin de PostgreSQL y explicar cada uno de los parmetros. En el archivo de configuracin (postgresql.conf), se encuentran todos los

parmetros. Este archivo esta normalmente guardado en el directorio de datos. Una copia de este se realiza automticamente cuando la base de datos cluster directory es inicializada. La modalidad que tiene el archivo es la siguiente: Un parmetro es especificado por lnea. El smbolo igual entre el nombre del parmetro y el valor del mismo es opcional. Los espacios en blanco son insignificantes. Las lneas en blanco son ignoradas. Los numerales son comentarios. Los valores de parmetros que no son identificadores o no son numeros deben estar escritos con . Para insertar una en el valor del parmetro debe escribir o \ Adems de los parmetros y sus valores, el archivo postgresql.conf puede contener otro archivo para leer y/o procesar (como un hipervnculo). El archivo de configuracin es reledo cuantas veces el proceso del servidor principal reciba una seal de SIGHUP (lo que ms fcilmente es enviado por pg_ctl reload). A continuacin se va a detallar la mayora de los parmetros existentes en el archivo de configuracin.
PARAMETROS DESCRIPCION

allow_system_table_mods application_name archive_command archive_mode array_nulls authentication_timeout autovacuum autovacuum_analyze_threshold autovacuum_freeze_max_age autovacuum_max_workers autovacuum_naptime

Permite modificaciones de la estructura de las tablas del sistema. Establece el nombre de la aplicacin que se informa en las estadsticas y registros. Establece el comando shell que se llamar para archivar un archivo WAL. Permite archivar los archivos WAL utilizando archive_command. Entrada de habilitacin de elementos NULL en arrays. Establece el tiempo mximo permitido para completar la autenticacin del cliente. Inicia el autovacuum subproceso. Nmero mnimo de inserciones tupla, actualizaciones o eliminaciones anteriores de analizar. Edad en la que autovacuum una mesa para evitar envolvente ID de transaccin. Establece el nmero mximo de procesos de trabajo al mismo tiempo corriendo autovacuum. Hora de dormir entre ejecuciones autovacuum.

autovacuum_vacuum_cost_delay Vaco demora costo en milisegundos, por autovacuum. autovacuum_vacuum_cost_limit autovacuum_vacuum_threshold backslash_quote bgwriter_delay bgwriter_lru_maxpages bgwriter_lru_multiplier block_size bonjour bonjour_name bytea_output check_function_bodies checkpoint_completion_target checkpoint_segments checkpoint_timeout checkpoint_warning client_encoding client_min_messages commit_delay commit_siblings config_file constraint_exclusion cpu_index_tuple_cost cpu_operator_cost cpu_tuple_cost custom_variable_classes data_directory DateStyle db_user_namespace deadlock_timeout El monto del costo de vaco disponible antes de la siesta, por autovacuum. Nmero mnimo de cambios tupla o elimina antes de vaco. Establece si \ '"est permitido en los literales de cadena." Antecedentes tiempo de sueo escritor entre las rondas. Antecedentes nmero mximo escritor de pginas LRU para purgar por ronda. Mltiple del uso medio tampn para libre por ronda. Muestra el tamao de un bloque de disco. Permite la publicidad del servidor a travs de Bonjour. Establece el nombre del servicio Bonjour. Establece el formato de salida para bytea. Compruebe cuerpos de las funciones durante CREATE FUNCTION. El tiempo dedicado lavado buffers modificados en puesto de control. Establece la distancia mxima en segmentos de registro. Establece el tiempo mximo entre puntos de comprobacin automticos WAL. Da advertencias si los segmentos de los puestos de control se llenan con frecuencia. Establece la codificacin del juego de caracteres del cliente. Establece los niveles de mensajes que se envan al cliente. Ajusta el retardo en microsegundos. Establece las transacciones mnimas abiertas simultneas antes de realizar commit_delay. Establece el archivo de configuracin principal del servidor. Permite al planificador a utilizar restricciones para optimizar las consultas. Estimacin del planificador del costo de procesar cuando exista una exploracin de ndice. Estimacin del planificador del costo de procesar cada operador o llamada a la funcin. Establece la estimacin del planificador del costo de procesar cada tupla (fila). Establece la lista de conocidas clases de variables personalizadas. Establece el directorio de datos del servidor. Establece el formato de visualizacin de los valores de fecha y hora. Permite a los nombres de usuario de base de datos-por. Establece el tiempo de espera en un bloqueo antes de buscar un punto muerto.

debug_assertions debug_pretty_print debug_print_parse debug_print_plan debug_print_rewritten default_statistics_target default_tablespace default_text_search_config default_transaction_isolation default_transaction_read_only default_with_oids dynamic_library_path effective_cache_size effective_io_concurrency enable_bitmapscan enable_hashagg enable_hashjoin enable_indexscan enable_material enable_mergejoin enable_nestloop enable_seqscan enable_sort enable_tidscan escape_string_warning external_pid_file extra_float_digits from_collapse_limit fsync full_page_writes geqo geqo_effort geqo_generations geqo_pool_size geqo_seed geqo_selection_bias geqo_threshold gin_fuzzy_search_limit hba_file hot_standby ident_file

Activa diversos controles afirmacin. Sangra parse y pantallas arbreas plan. Registra rbol de anlisis de cada consulta. Registra plan de ejecucin de cada consulta. Registra reescrito rbol de anlisis de cada consulta. Establece el objetivo de las estadsticas por defecto. Establece el espacio de tabla por defecto para crear tablas e ndices pulg Establece la configuracin por defecto de bsqueda de texto. Ajusta el nivel de aislamiento de cada nueva transaccin. Establece el valor por defecto de slo lectura de nuevas transacciones. Crear nuevas tablas con OID por defecto. Establece la ruta para mdulos cargables dinmicamente. Establece la suposicin del planificador del tamao de la cach de disco. Nmero de solicitudes simultneas que se pueden manejar por el subsistema de disco. Permite el uso del planificador de planes de mapas de bits de escaneado. Permite el uso del planificador de planes de agregacin de hash. Permite el uso del planificador de planes de combinacin hash. Permite el uso del planificador de planes ndice de exploracin. Permite el uso del planificador de la materializacin. Permite el uso del planificador de planes Combinacin de mezcla. Permite el uso del planificador de planes de unirse de bucle anidado. Permite el uso del planificador de planes secuenciales de escaneo. Permite el uso del planificador de medidas de ordenacin explcitas. Permite el uso del planificador de planes de exploracin TID. Advertir sobre escapes de barra invertida en los literales de cadena ordinaria. Escribe el PID postmaster en el archivo especificado. Establece el nmero de dgitos que se muestran los valores de punto flotante. Establece el tamao desde la lista a partir del cual subconsultas no se contraen. Fuerzas de sincronizacin de cambios en el disco. Escribe pginas a WAL cuando se modifica por primera vez despus de un punto de control. Permite la optimizacin de la consulta gentica. Se utiliza esfuerzos para establecer el valor predeterminado para otros parmetros GEQO. OGEC: nmero de iteraciones del algoritmo. GEQO: nmero de individuos de la poblacin. GEQO: semillas para la seleccin de rutas aleatorias. GEQO: presin selectiva en la poblacin. Establece el umbral del ms all de las partidas que se utiliza GEQO. Establece el resultado mximo permitido para la bsqueda exacta de GIN. Establece "archivo de configuracin." Del servidor hba Permite conexiones y consultas durante la recuperacin. Establece "archivo de configuracin." Ident del servidor

ignore_system_indexes integer_datetimes IntervalStyle krb_caseins_users krb_server_keyfile krb_srvname lc_collate lc_ctype lc_messages lc_monetary lc_numeric lc_time listen_addresses lo_compat_privileges local_preload_libraries log_autovacuum_min_duration log_checkpoints log_connections log_destination log_directory log_disconnections log_duration log_error_verbosity log_executor_stats log_filename log_hostname log_line_prefix log_lock_waits log_min_duration_statement log_min_error_statement log_min_messages log_parser_stats log_planner_stats log_rotation_age log_rotation_size log_statement log_statement_stats log_temp_files log_timezone logging_collector maintenance_work_mem

Desactiva la lectura de los ndices del sistema. Datetimes son enteros base. Establece el formato de visualizacin de valores de intervalo. Determina si los nombres de usuario de Kerberos GSSAPIs. Establece la ubicacin del archivo de claves del servidor Kerberos. Establece el nombre del servicio Kerberos. Muestra el orden de configuracin regional de intercalacin. Muestra la clasificacin de caracteres y la configuracin regional de conversin caso. Establece el idioma en que se muestran los mensajes. Establece el escenario para dar formato a los importes monetarios. Establece el escenario para los nmeros de formato. Establece el escenario para dar formato a los valores de fecha y hora. Establece el nombre de host o la direccin IP (es) para escuchar. Activa el modo de compatibilidad para el control de privilegios en objetos de gran tamao. Listas de las bibliotecas compartidas de precarga en cada servidor. Establece el tiempo de ejecucin mnimo por el cual se registrarn las acciones autovacuum. Registra cada punto de control. Registra cada conexin exitosa. Establece el destino de salida de registro del servidor. Establece el directorio de destino para los archivos de registro. Registra final de la sesin, incluyendo la duracin. Registros de la duracin de cada sentencia SQL completa. Ajusta el nivel de detalle de los mensajes registrados. Escribir estadsticas ejecutor en el registro del servidor. Establece el patrn de nombre de archivo para los archivos de registro. Registra el nombre de host en los registros de conexin. Informacin de Controles prefijo a cada lnea de registro. Registros largo mechn espera. Establece el tiempo de ejecucin mnimo por encima del cual se registrarn las declaraciones. Hace que todas las declaraciones que de el error a este nivel o por encima de estar registrado. Establece los niveles de mensajes que se registran. Escribir estadsticas de parser al registro del servidor. Escribir estadsticas de planner al registro del servidor. Rotacin de archivos de registro automtico se producir despus de N minutos. Rotacin de archivos de registro automtico se producir despus de N kilobytes. Establece el tipo de declaraciones registradas. Escribir estadsticas acumulativas al registro del servidor. Registrar el uso de archivos temporales mayor que este nmero de kilobytes. Establece la zona horaria para utilizar en los mensajes de registro. Inicie un subproceso para capturar la salida stderr y / o csvlogs en archivos de registro. Establece la cantidad mxima de memoria para las operaciones de mantenimiento.

max_connections max_files_per_process max_function_args max_identifier_length max_index_keys max_locks_per_transaction max_prepared_transactions max_stack_depth max_wal_senders password_encryption port post_auth_delay pre_auth_delay search_path segment_size server_encoding server_version server_version_num session_replication_role shared_buffers shared_preload_libraries silent_mode sql_inheritance ssl ssl_ciphers ssl_renegotiation_limit standard_conforming_strings statement_timeout stats_temp_directory

Establece el nmero mximo de conexiones simultneas. Establece el nmero mximo de archivos abiertos para cada proceso de servidor. Muestra el nmero mximo de argumentos de la funcin. Muestra la longitud mxima del identificador. Muestra el nmero mximo de claves de ndice. Establece el nmero mximo de bloqueos por transaccin. Establece el nmero mximo de transacciones preparadas simultneamente. Establece la profundidad mxima de la pila, en kilobytes. Establece el nmero mximo de procesos en ejecucin simultneamente WAL remitente. Cifrar contraseas. Establece el puerto TCP que el servidor escucha. Espera N segundos en arranque de la conexin despus de la autenticacin. Espera N segundos en arranque de la conexin antes de la autenticacin. Establece el orden de bsqueda de esquema de nombres que no son calificado. Muestra el nmero de pginas por archivo de disco. Establece el servidor (base de datos) de codificacin de caracteres. Muestra la versin del servidor. Muestra la versin del servidor como un entero. Establece el comportamiento de la sesin de disparadores y reglas de reescritura. Establece el nmero de buffers de memoria compartida que utiliza el servidor. Listas de bibliotecas compartidas a precarga en el servidor. Ejecuta el servidor silenciosamente. Causas subtablas para ser incluido por defecto en varios comandos. Permite conexiones SSL. Establece la lista de permitidos cifrado SSL. Ajusta la cantidad de trfico para enviar. Causas '...' cuerdas para tratar barras invertidas literalmente. Establece la duracin mxima de cada declaracin. Graba archivos de estadsticas temporales en el directorio especificado.

superuser_reserved_connections Establece el nmero de ranuras de conexin reservadas para superusuarios. synchronize_seqscans synchronous_commit tcp_keepalives_count tcp_keepalives_idle tcp_keepalives_interval temp_buffers temp_tablespaces TimeZone timezone_abbreviations trace_notify trace_recovery_messages Habilitar exploraciones secuenciales sincronizados. Establece fsync inmediatamente a confirmacin. Nmero mximo de keepalive TCP retransmite. El tiempo entre la emisin de mensajes de actividad TCP. El tiempo entre retransmisiones TCP keep-alive. Establece el nmero mximo de bferes temporales utilizados por cada sesin. Establece el espacio que se utilizar para las tablas temporales y archivos de ordenacin. Establece la zona horaria para la visualizacin e interpretacin de las marcas de tiempo. Selecciona un archivo de abreviaciones de huso horario. Genera depuracin para escuchar y NOTIFICAR. Habilita el registro de la informacin de depuracin relacionado con la recuperacin.

trace_sort track_activities track_activity_query_size track_counts track_functions transaction_isolation transaction_read_only transform_null_equals unix_socket_directory unix_socket_group unix_socket_permissions update_process_title vacuum_cost_delay vacuum_cost_limit vacuum_cost_page_dirty vacuum_cost_page_hit vacuum_cost_page_miss vacuum_defer_cleanup_age vacuum_freeze_min_age vacuum_freeze_table_age wal_block_size wal_buffers wal_keep_segments wal_level wal_segment_size wal_sender_delay wal_sync_method wal_writer_delay xmlbinary xmloption zero_damaged_pages

Emitir informacin sobre el uso de recursos en la clasificacin. Recopila informacin sobre la ejecucin de comandos. Establece el tamao reservado para pg_stat_activity.current_query, en bytes. Recopila estadsticas sobre la actividad de base de datos. Recopila estadsticas funcin de nivel de actividad de base de datos. Ajusta el nivel de aislamiento de la transaccin actual. Establece estado de slo lectura de la transaccin actual. Treats expr = NULL "como" expr IS NULL "." Establece el directorio en el que se crear el socket de dominio UNIX. Establece el grupo propietario del socket de dominio UNIX. Establece los permisos de acceso del socket de dominio UNIX. Actualiza el ttulo de proceso para mostrar el comando SQL activo. Vaco retraso coste en milisegundos. El monto del costo de vaco disponible antes de dormir la siesta. Costo de Vacuum de una pgina ensuciada por vaco. Costo de Vacuum de una pgina que se encuentra en la cach del bfer. Costo de Vacuum de una pgina no se encuentra en la cach del bfer. Nmero de transacciones por el cual VACO y limpieza HOT debera aplazarse, en su caso. La edad mnima a la que debe VACO congelar una fila de la tabla. Edad a la que VACO debe escanear toda la tabla para congelar tuplas. Muestra el tamao de bloque en la escritura de registro por delante. Establece el nmero de buffers de disco de pgina en la memoria compartida para WAL. Establece el nmero de archivos WAL mantenidos para servidores de reserva. Ajuste el nivel de informacin por escrito a la WAL. Muestra el nmero de pginas por escribir antes iniciar segmento. WAL tiempo de sueo emisor entre repeticiones WAL. Selecciona el mtodo utilizado para forzar cambios WAL en el disco. WAL tiempo de sueo escritor entre descargas WAL. Establece cmo los valores binarios son para ser codificada en XML. Establece si los datos XML se ha de considerar como documentos o fragmentos de contenido. Seguir con el procesamiento ltimos encabezados daados.

4.4 ARQUITECTURAS EXISTENTES EN POSTGRESQL PostgreSQL cuenta con una arquitectura empresarial, grupal y personal; por el momento no desarrolla un servidor para un 5. CONCLUSIONES

Postgres es un DBMS muy completo que funciona en diferentes plataformas de sistemas operativos. Podemos concluir que la interfaz grafica de Postgres es similar en Windows que en Linux. 6. RECOMENDACIONES Se recomienda que para la instalacin de Postgres se verifique la exista de conexin a internet, para descargar los paquetes en Linux. 7. BIBLIOGRAFA https://www.archlinux.org/packages/extra/i686/postgresql-docs/files/ http://www.ubuntuupdates.org/package/pitti_postgresql/precise/main/base /postgresql-doc-9.2 http://es.wikipedia.org/wiki/Fedora_(distribuci%C3%B3n_Linux)#Caracter.C 3.ADsticas http://www.postgresql.org.es/sobre_postgresql http://danielpecos.com/docs/mysql_postgres/x15.html
http://www.ubuntuupdates.org/package/pitti_postgresql/precise/main/base/postgresql-9.2 http://wiki.postgresql.org/wiki/FAQ/es

Vous aimerez peut-être aussi