Uso de postgresql
´ Alvaro Herrera Segundo Encuentro de Linux Universidad del B´o B´o, octubre de 2001 ı ı Chile
1
Introducci´ n a PostgreSQL o
¿C´ mo se pronuncia? o Proveniente de Berkeley Licencia BSD RDBMS: Relacional Lenguaje SQL ORBDMS: No OO
2
Tipos de datos en PostgreSQL
Especializados:
Tipos de datos: Booleanos
TRUE ’t’ ’true’ ’y’ ’yes’ ’0’ Notas:FALSE ’f’ ’false’ ’n’ ’no’ ’1’
Booleanos N´ meros u Fechas Caracteres Bytes
Geom´ tricos e Direcciones de red
3
’0’ y ’1’ deben llevar comillas simples. La salida siempre es ’t’ o ’f’.
4
´ Tipos de datos: Numeros
smallint integer bigint decimal numeric real double precision serial 2 bytes 4 bytes 8 bytes variable variable 4 bytes 8 bytes 4 bytes -32768 a+32767 -2147483648 a +2147483647 -9.2e17 a 9.2e17 ilimitado ilimitado 6 cifras 15 cifras 0 a +2147483647
5
´ Tipos de datos: Numeros (cont)
Notas:
BIGINT puede no estar disponible dependiendo del compilador. ´ SERIAL se basa en una secuencia, un ´ndice unico y un campo ı INTEGER. Eliminar una tabla NO elimina la secuencia. Llegar al l´mite de 2e9 puede ser un problema serio. ı´ Indices en campos num´ ricos pueden ser ignorados a menos que se e hagan cast expl´citos en las consultas: ı
SELECT * FROM tabla WHERE numero=123::int8
6
Tipos de datos: Fechas
Notas:
Tipos de datos: Caracteres
Notas:
TIMESTAMP DATE TIME INTERVAL
Las horas son almacenadas en UTC y se convierten al desplegar.
7
CHAR VARCHAR TEXT
CHAR llenade blancos para completar el largo total. No usar CHAR a menos que sea realmente necesario. TOAST comprime campos largos.
8
Tipos de datos: Bytes
Notas:
Tipos de datos especializados: Geom´ tricos e
BYTEA BIT BIT VARYING
Suele ser complicado ingresar o extraer datos, a causa de la necesaria conversi´ n. o Alguna gente prefiere codificar en la aplicaci´ n (Base64o o UUencode) y almacenar como texto.
9
Permite especificar puntos, l´neas, c´rculos, pol´gonos y caminos. ı ı ı Se proveen operadores especializados. Se provee un tipo de ´ndice especializado. ı
10
Tipos de datos especializados: Direcciones de red
psql
Se proveen tipos para direcciones IP, CIDRa y direcciones de red. Se provee chequeo especializado de losvalores de entrada. Se provee un conjunto de funciones.
a Classless
Internet Domain Routing.
11
Terminal interactivo para PostgreSQL. Permite conectarse a una base de datos, ingresar consultas y visualizar resultados. Permite redirigir salida y entrada convenientemente. Hay que especificar los datos de conexi´ n: base de datos, nombre de o usuario, password. Hay valores por defectorazonables. PGUSER, PGPASSWORD, PGDATABASE.
12
Ejemplo de uso:
$ export PGUSER=encuentro $ export PGDATABASE=encuentro $ psql 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
encuentro=>
13
psql (cont)
Notas:Prompt: =# usuario con privilegios; =
o define archivo de salida. i ejecuta comandos de un archivo.
d muestra una lista de relaciones (tablas, secuencias, vistas, ´ndices), y permite ver descripciones de ellas. ı Muchos otros comandos internos.
-E en l´nea de comandos: muestra consultas al backend. ı
14
¡
¢£ ¢£ ¢ £
Prompt: nombre de la base de datos usuarioconvencional.
$ psql -E ********* QUERY ********* SELECT usesuper FROM pg_user WHERE usename = ’encuentro’ ************************* encuentro=> \dT ********* QUERY ********* SELECT format_type(t.oid, NULL) AS "Type", obj_description(t.oid) as "Description" FROM pg_type t WHERE t.typrelid = 0 AND t.typname !˜ ’ˆ_.*’ ORDER BY "Type"; ************************* List of types
15
Usuarios: control de...
Regístrate para leer el documento completo.