MANUAL BÁSICO DE POSTGRESQL



Documentos relacionados
Anexo I. Instalación del Sistema de Gestión integral de promociones de los centros comerciales de una ciudad

Sistemas Manejadores de Bases de Datos ( Postgres)

- Bases de Datos - - Diseño Físico - Luis D. García

AUTENTICACIÓN: DETERMINAR SI EL USUARIOS ES QUIÉN DICE SER AUTORIZACIÓN: DETERMINA A CUÁLES OBJETOS TIENE ACCESO EL USUARIO

ADMINISTRACIÓN DE BASE DE DATOS

Seguridad en SQL Server 2005

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Consultas con combinaciones

Select table data Insert table data Update table data Delete table data Create table

Creación y Gestión de Tablas. Copyright Oracle Corporation, All rights reserved.

Base de datos relacional

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Guía de Laboratorio Base de Datos I.

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

TEMA 20: CONCEPTOS BÁSICOS DE SQL

EL ENTORNO DE TRABAJO SQL ORACLE

El Manejador de Bases de Datos Relacionales ORACLE

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Formas de llevar a cabo un backup de una base de datos MySQL

MANUAL BÁSICO DEL LENGUAJE SQL

A.1. Definiciones de datos en SQL

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

MySQL: Guía de Referencia

Tema: Auditoria de Base de datos. Parte I

INSTALACIÓN Y CONFIGURACIÓN SERVIDOR DE BASES DE DATOS POSTGRESQL ADMINISTRACIÓN DE SISTEMAS OPERATIVOS DE RED FRANCISCO JAVIER DUARTE GARCIA

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Toda base de datos relacional se basa en dos objetos

Bases de Datos Relacionales

Bases de Datos 2. Teórico

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

T12 Vistas y tablas temporales

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Kiara Celeste Contreras Feliz. Matricula: Sistema Operativo III. 5- Creación de usuarios y grupos

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS Escuela de Computación

SQL (Structured Query Language)

Formato para prácticas de laboratorio

sudo mkdir /usr/local/pgsql/data /home/ /home/juan sudo chown juan /usr/local/pgsql/data

Haga clic para PostgreS cambiar el estilo

WINDOWS 2003 SERVER DIRECTORIO ACTIVO Y DNS

Tema: Auditoria de Base de datos. Objetivo Especifico

INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE POSTGRESQL EN FEDORA 19 PRESENTADO POR EDUARDO MORANTES DIAZ CODIGO: PRESENTADO A

Inducción al Laboratorio de Informática

Manual Usuario cpanel

Antes de cargar el contenido del fichero, aprovechamos para fijarnos en los archivos WAL, que ya más adelante comentaremos con más detalle.

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Oracle 12c DISEÑO Y PROGRAMACIÓN

Creación y administración de grupos de dominio

8 SQL SERVER 2008 RA-MA

SIIGO Pyme. Templates. Cartilla I

Acronis License Server. Guía del usuario

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Manual de Integración CubeCart

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

Instalación de Casandra Para instalar cassandra se recomienda tener la última versión de JAVA instalada.

Técnicas de Programación

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

NORMA 34.14(SEPA) 05/11/2013

Seven ERP Manual De Referencia Generales - Seguridad y Control de Acceso

Motores de Base de Datos Libres: Postgresql y MySql. Ing. Ricardo Naranjo Faccini, M.Sc

Oracle Database 10g: Taller de Administración I 1-2

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

GIT Dinahosting 3. Hola!

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

Instructivo fecha. ACL Results Manager Instructivo para publicación de resultados. 3.mar.15. Referencia. Usuarios. Results Manager

Monitorización SGBD PostgreSQL

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

GENERACIÓN DE TRANSFERENCIAS

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

1. DML. Las subconsultas

Manual de NetBeans y XAMPP

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Tema: Disparadores Parte I.

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

Seven ERP Guía De Referencia - Imágenes

INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE CORREO EXIM 4.8 EN FEDORA 20 FRAYBA SERYEY OTALORA TORRES JOSE EDUARDO JAIMES BARRERA

MANUAL DE SHAREPOINT Por: Área de Administración de Aplicaciones.

Repaso de Conceptos Básicos de Bases de Datos

Backup y Restore en mysql

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL

Conceptos Fundamentales sobre UNIX Laboratorio Administrador de Archivos del CDE Avanzado (Tiempo estimado: 30 min.)

Instalación de PostgreSQL en Windows y Linux

Kaldeera Advanced Forms 2009 Guía del usuario

Uso de las herramientas de consulta de Transact-SQL

Creación y administración de grupos locales

1

PROYECTO FINAL. Se deberán configurar y administrar cada uno de los servicios mencionados anteriormente bajo los siguientes lineamientos.

Guía de instalación de la carpeta Datos de IslaWin

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Transcripción:

MANUAL BÁSICO DE POSTGRESQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2

TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. AUTENTICACIÓN EN POSTGRESQL... 4 1.1 Autenticación de Contraseña... 4 2. ADMINISTRACIÓN DE POSTGRESQL... 5 2.1 Gestión de Usuarios... 5 2.1.1 CREATE USER... 5 2.1.2 createuser... 7 2.2 Modificación de Usuarios... 8 2.3 Eliminación de Usuarios... 8 2.4 Manejo de Grupos... 9 3. OTRAS FUNCIONES BÁSICAS DE PostgreSQL... 10 4. TIPOS DE DATOS PostgreSQL... 13 5. TIPOS NUMÉRICOS PARA PostgreSQL... 14

INTRODUCCIÓN En este manual se encuentras las funciones básicas de PostgreSQL, como la autentificación ante PostgreSQL, el manejo de contraseñas, el manejo de usuarios (creación, modificación y eliminación) y sus privilegios, el manejo de grupos, (creación, eliminación), algunas otras funciones de PostgreSQL, como lo son los triggers, la creación, modificación y eliminación de tablas, creación y eliminación de bases de datos, los tipos de datos y los tipos numéricos. Para cada sentencia o comando se muestra su sintaxis, y se parte del hecho de que la persona que haga uso de este manual, tiene conocimientos básicos, sobre el lenguaje SQL.

1. AUTENTICACIÓN EN POSTGRESQL PostgreSQL es un Sistema de Gestión de Bases de Datos Objeto-Relacionales. Comenzó como un proyecto denominado Ingres en la Universidad Berkeley de California. Ingres fue desarrollado comercialmente más tarde por la Relational Technologies / Ingres Corporation. A partir de PostgreSQL 7.1.x, los accesos de clientes basados en máquina (host) se encuentran especificados en el archivo pg_hba.conf. El archivo pg_hba.conf le permite establecer el tipo de autenticación basasda en máquina a ser usada. Esta autenticación es realizada antes de que PostgreSQL estblezca una conexión a la base de datos en cuestión, donde los permisis de usuarios serían relevantes. El archivo pg_hba.conf está localizado en el directorio de datos de PostgreSQL (p.ej., /usr/local/pgsql/data/), y es instalado automáticamente con la ejecución del comando initdb cuando PostgreSQL es instalado. 1.1 Autenticación de Contraseña Las contraseñas de usuario son almacenadas en un texto plano en la tabla de sistema pg_shadow, pero sólo los superusuarios de PostgreSQL tienen permiso para ver la tabla pg_shadow y esta tabla además es accesible desde cualquier base de datos. La estructura de la tabla es: Columna usename usesysid usecreatedb usetrace usesuper usecatupd passwd valuntil Tipo name integer boolean boolean boolean boolean text abstime En dado caso que la contraseña no sea definida, por defecto el sistema asignara NULL.

2. ADMINISTRACIÓN DE POSTGRESQL PostgreSQL almacena los datos de usuarios así como también los datos de los grupos dentro de sus propios catálogos de sistema. De esta manera, cualquier conexión a PostgreSQL debe ser realizada con un usuario específico, y cualquier usuario puede pertenecer a uno o más grupos definidos. La tabla de usuarios en PostgreSQL controla los permisos de acceso y quién está autorizado a realizar acciones en el sistema, al igual qué las acciones puede realizar. Los grupos existen como un mecanismo para simplificar la ubicación de estos permisos. Tanto las tablas de usuarios como de grupos existen como objetos globales de base de datos, por consiguiente no están agregadas a ninguna base de datos en particular. 2.1 Gestión de Usuarios Cada usuario tiene un ID de sistema interno en PostgreSQL (llamado sysid), así como una contraseña. El ID es utilizado para asociar objetos en una base de datos con su propietario PostgreSQL crea por defecto a un superusuario llamado postgres. Todos los demás superusuarios pueden ser creados por éste, o por cualquier otro superusuario creado posteriormente. PostgreSQL proporciona dos métodos para la creación de usuarios de bases de datos. Cada uno de ellos requiere autenticación como superusuario. Los métodos son: A través del uso del comando SQL CREATE USER. Un programa de línea de comandos llamado createuser 2.1.1 CREATE USER La sintaxis para CREATE USER es: CREATE USER nombre_usuario [ WITH [ SYSID uid ] [ PASSWORD 'password' ] ] [ CREATEDB NOCREATEDB ] [ CREATEUSER NOCREATEUSER ] [ IN GROUP groupname [,...] ] [ VALID UNTIL 'abstime' ]

A continuación se describe cada una de las partes de la sintaxis de CREATE USER: SYSID uid Especifica que el ID que va a definirse debe establecerse al valor de uid. Si se omite, un razonable y único valor numérico por defecto es escogido. PASSWORD 'password' Establece la nueva contraseña del usuario. Si no se especifica, la contraseña por defecto es NULL. CREATEDB NOCREATEDB Usando la palabra clave CREATEDB se le garantiza al nuevo usuario el privilegio de crear nuevas bases de datos, así como el de destruir las de su propiedad. Usando NOCREATEDB se deniega este permiso (que es lo que ocurre por defecto). CREATEUSER NOCREATEUSER Certifica el privilegio de crear nuevos usuarios. Si un usuario tiene los privilegios de crear a otros usuarios tendrá además todos los privilegios, en todas las bases de datos (incluyendo los permisos para crear una base de datos, aunque se haya especificado NOCREATEDB). NOCREATEUSER explícitamente fuerza a la situación por defecto, que deniega el privilegio. IN GROUP nombre_grupo [,...] Añade al nuevo usuario al grupo llamado nombre_grupo. Pueden ser especificados múltiples nombres de grupo, separándolos mediante comas. El o los grupos deben existir para que funcione la condición. VALID UNTIL 'abstime' Establece que la contraseña del usuario expirará el abstime, el cual debe ser un formato reconocible de fecha/hora (timestamp). Tras esa fecha, la contraseña se resetea, y la expiración se hace efectiva. VALID UNTIL 'infinity' Establece validez permanente para la contraseña del usuario.

2.1.2 createuser El script createuser es ejecutado directamente desde la línea de comandos, y puede operar de dos formas. Si se utiliza sin argumentos, él interactivamente le pedirá el nombre de usuario y cada uno de los privilegios que se le van a asignar. Alternamente, puede optar por especificar las opciones y el nombre del usuario a ser creado en la misma línea de comandos. La sintaxis de createuser es: createuser [ opciones ] [ nombre_usuario ] El nombre_usuario en la sintaxis representa el nombre del usuario que va a crear. Reemplace opciones con una o más de las siguientes: -d, -createdb Equivalente a la palabra clave CREATEDB. Permite al nuevo usuario crear bases de datos. -D, -no-createdb Equivalente a la palabra clave NOCREATEDB Explícitamente indica que el nuevo usuario no puede crear bases de datos. -a, -adduser Equivalente a la palabra clave CREATEUSER Perimte al nuevo usuario la creación de otros usuarios, y asigna el status de superusurario al usuario. -A, -no-adduser Equivalente a la palabra clave NOCREATEUSER. Explícitamente indica que el nuevo usuario no es superusuario. -i SYSID, -sysid=sysid Establece el nuevo ID de sistema del usuario a SYSID. -P, -pwprompt Resulta en una petición de introducción de contraseña, permitiéndole establecer la contraseña del nuevo usuario. -h NOMBRE_MAQUINA, -host=nombre_maquina Especifica desde qué NOMBRE_MAQUINA se conectará, además de la local (localhost), o la máquina definida por la variable de entorno PGHOST. -p PUERTO, -port=puerto Especifica que la conexión de base de datos se realizará por el puerto PUERTO, en vez de por el puerto por defecto.

-U NOMBRE_USUARIO, -username=nombre_usuario Especifica que NOMBRE_USUARIO será el usuario que conecte a PostgreSQL (por defecto se conecta usando el nombre de usuario del sistema). -W, -password Resulta en una petición de contraseña para el usuario que conecta, lo cual ocurre automáticamente si el archivo pg_hba.conf está configurado para no confiar en la máquina solicitante. 2.2 Modificación de Usuarios Los usuarios existentes sólo pueden ser modificados por superusuarios PostgreSQL mediante el comando SQL ALTER USER, donde su sintaxis es: ALTER USER nombre_usuario [ WITH PASSWORD 'password' ] [ CREATEDB NOCREATEDB ] [ CREATEUSER NOCREATEUSER ] [ VALID UNTIL 'abstime' ] Aquí nuevamente se hace uso de las palabras claves utilizadas en CREATE USER. 2.3 Eliminación de Usuarios Al igual que en la creación de usuarios, en la eliminación de usuarios también existen dos formas de hacerlo: El comando DROP USER El programa psql La sintaxis para DROP USER es: DROP USER nombre_usuario La sintaxis para psql es: [~]$ psql -U manager template1 Welcome to psql, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit

template1=# DROP USER salesuser; DROP USER 2.4 Manejo de Grupos Cualquier superusuario puede crear un nuevo grupo en PostgreSQL con el comando CREATE GROUP. Aquí tiene la sintaxis de CREATE GROUP: CREATE GROUP nombre_grupo [ WITH [ SYSID groupid ] [ USER username [,...] ] ] En la sintaxis, nombre_grupo es el nombre del grupo a ser creado. debe iniciar por una carácter alfabético, y no puede exeder los 31 caracteres de longitud. El proporcionar la palabra clave WITH permite especificar cualquiera de los atributos opcionales. Si desea especificar el ID de sistema a usar con el nuevo grupo, utilice la palabra clave SYSID para especificar el valor de groupid. Use la palabra clave USER para incluir a uno o más usuarios al grupo en tiempo de creación. Separe los distintos usuarios mediante comas. Adicionalmente, el usuario PostgreSQL y las tablas de grupos operan separadamente las unas de las otras. Esta separación que los ID de usuarios y grupos puedan ser idénticos dentro del sistema PostgreSQL. Y para la eliminación de un grupo se usa el comando SQL DROP GROUP. Su sintaxis es: DROP GROUP nombre_grupo Para añadir o eliminar un usuario a un grupo se usa el comando SQL ALTER GROUP, especificando si es para añadirlo ADD y si es para eliminarlo DROP, y sin son varios usuarios simplemente se separan por,. Su sintaxis es: ALTER GROUP nombre_grupo { ADD DROP } USER username [,... ]

3. OTRAS FUNCIONES BÁSICAS DE PostgreSQL Estas son algunas otras funciones a tener en cuenta para el manejo de bases de datos en PostgreSQL. Abort: Aborta la transacción en curso Modificar Grupo: MODIFICAR GRUPO nombre AÑADIR USUARIO nombre de usuario [,... ]MODIFICAR GRUPO nombre ELIMINAR USUARIO nombre de usuario [,... ] CREATE TABLE: Crea una nueva tabla CREATE [ TEMPORARY TEMP ] TABLE table ( column type [ NULL NOT NULL ] [ UNIQUE ] [ DEFAULT value ] [column_constraint_clause PRIMARY KEY } [... ] ] [,... ] [, PRIMARY KEY ( column [,...] ) ] [, CHECK ( condition ) ] [, table_constraint_clause ] ) [ INHERITS ( inherited_table [,...] ) ] Modificar Tabla: MODIFICAR TABLA tabla [ * ] AÑADIR [ COLUMNA ] columna tipo MODIFICAR TABLA tabla [ * ] MODIFICAR [ COLUMNA ] columna { SET DEFAULT valor DROP DEFAULT } MODIFICAR TABLA tabla [ * ] RENOMBRAR [ COLUMNA ] columna A nueva columna MODIFICAR TABLA tabla RENOMBRAR A nueva tabla Modificar usurario: MODIFICAR USUARIO nombre de usuario[ WITH PASSWORD palabra clave ][ CREATEDB NOCREATEDB ][CREATEUSER NOCREATEUSER][ VALID UNTIL abstime ] BEGIN: comienza una transacción en modo encadenado

BEGIN [ WORK TRANSACTION ] CLUSTER: CLUSTER indexname ON table COMMIT: Realiza la transacción actual. COMMIT [ WORK TRANSACTION ] COPY: Copia datos entre ficheros y tablas. COPY [ BINARY ] table [ WITH OIDS ]FROM { filename stdin }[ [USING] DELIMITERS delimiter ][ WITH NULL AS null string ]COPY [ BINARY ] table [ WITH OIDS ]TO { filename stdout }[ [USING] DELIMITERS delimiter ][ WITH NULL AS null string ] CREATE AGGREGATE: Define una nueva función de agregado CREATE AGGREGATE name [ AS ] ( BASETYPE = data_type [, SFUNC1 = sfunc1, STYPE1 = sfunc1_return_type ][, SFUNC2 = sfunc2, STYPE2 = sfunc2_return_type ][, FINALFUNC = ffunc ][, INITCOND1 = initial_condition1 ][, INITCOND2 = initial_condition2 ] ) CREATE DATABASE: Crea una nueva base de datos. CREATE DATABASE name [ WITH LOCATION = dbpath ] CREATE FUNCTION: Crea una nueva función. CREATE FUNCTION name ( [ ftype [,...] ] ) RETURNS rtype [ WITH ( attribute [,...] ) ] AS obj_file, link_symbol LANGUAGE C CREATE INDEX: Crear un índice secundario. CREATE [ UNIQUE ] INDEX nombre_indice ON tabla [ USING nombre_acceso ] ( columna [ nombre_operador] [,...] ) CREATE [ UNIQUE ] INDEX nombre_indice ON tabla

[ USING nombre_acceso ] ( nombre_funcion( r">columnale> [,... ]) nombre_operador ) CREATE TRIGGER: Crea un nuevo disparador CREATE TRIGGER name { BEFORE AFTER } { event [OR...] } ON table FOR EACH { ROW STATEMENT } EXECUTE PROCEDURE ER">funcBLE> ( arguments ) DELETE: Borrar filas de una tabla DELETE FROM table [ WHERE condition ] DROP AGGREGATE: Elimina la definición de una función agregada DROP AGGREGATE name type DROP DATABASE: Elimina una base de datos existente DROP DATABASE name DROP TABLE: Eliminar tablas de una base de datos DROP TABLE nombre [,...] DROP TRIGGER: Eliminar la definición de un disparador DROP TRIGGER nombre ON tabla

4. TIPOS DE DATOS PostgreSQL Estos son algunos de los tipos de datos que hay en PostgreSQL.

5. TIPOS NUMÉRICOS PARA PostgreSQL