Diferencia entre revisiones de «Recetas/postgresqlbasico»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Creando las tablas)
Línea 57: Línea 57:
 
=== Creando las tablas ===
 
=== Creando las tablas ===
 
Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada  
 
Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada  
  CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
+
  ulsdb=> CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
  CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)  );
+
  ulsdb=> CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)  );
 
Verificamos que la tabla haya sido creada  
 
Verificamos que la tabla haya sido creada  
 
   ulsdb=> \d
 
   ulsdb=> \d
 
Mostramos los campos de la tabla creada  
 
Mostramos los campos de la tabla creada  
 
   ulsdb=> \d aula
 
   ulsdb=> \d aula
 +
 
=== Insertando datos a las tablas ===
 
=== Insertando datos a las tablas ===
 
Insertamos datos en la tabla  
 
Insertamos datos en la tabla  

Revisión del 09:52 16 dic 2017

Resumen de la receta

Requisitos

  • Debian GNU/Linux Stretch 9.6
  • postgresql-server 9.6
  • Conocimiento básico de lenguaje SQL
  • Tener configurado los repositorios, ver Recetas/repositorio

Instalación de programas

Vamos a instalar lso programas servidor y el cliente con el metapaquete postgresql. En caso de que solo quisieramos instalar el cliente solo instalamos el paquete postgresql-client.

apt-get install postgresql


Configuración

Configuración de seguridad

Las configuraciones de seguridad de postgresql se encuentran en el archivo /etc/postgresql/9.6/main/pg_hba.conf , para mejorar la seguridad de nuestra instalación, cambiaremos la configuración para que solo el usuario postgres del sistema operativo sea permitido sin clave en la consola de postgres. Para ello cambiaremos la linea:

 local   all             all                                     peer

La dejaremos como:

 local   all             all                                     md5

Y reiniciamos el postgres

service  postgresql restart

Creación de usuario

Accedemos como usuario root.

 su

Cambiamos al usuario postgresql

 su postgres

Ingresamos al CLI de postgres

 psql

Verificamos los usuarios que estan registrados en postgres

 postgres=# select * from pg_user;

Creamos el usuario

 postgres# create user prueba with encrypted password 'uls';

Creación de la base de datos

Listamos las bases de datos que existen actualmente

 postgres=# \l

En el CLI de postgres creamos la base de datos y le asignamos el dueño al usuario.

 postgres=# create database ulsdb with owner prueba;

Verificamos que la base de datos se haya creado correctamente

 postgres=# \l

Probando usuario

Luego de haber creado la base, nos salimos del CLI de postgresql a la terminal de linux y ejecutamos la siguiente sentencia

 psql  -U prueba ulsdb

Donde la opción -U le indica el usuario que usaremos y el último argumento (ulsdb) la base de datos a la que nos conectaremos. A continuación nos pedirá la clave de acceso y si fué exitoso, nos mostrará el CLI de postgresql de la siguiente forma:

 ulsdb=> 

Que indica que estamos conectado a la base de datos ulsdb como un usuario normal (carácter >).

Creando las tablas

Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada

ulsdb=> CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
ulsdb=> CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)   );

Verificamos que la tabla haya sido creada

 ulsdb=> \d

Mostramos los campos de la tabla creada

 ulsdb=> \d aula

Insertando datos a las tablas

Insertamos datos en la tabla

 ulsdb=> insert into aula values(1,'Computo B1');
 ulsdb=>  insert into aula values(2,'Computo C1');
 ulsdb=>  insert into curso values(1,'redes I',1); 
 ulsdb=>  insert into curso values(2,'Sistemas',2); 

Verificamos los datos insertados

 ulsdb=>  select * from aula;
 ulsdb=> select * from curso;

Nos salimos del CLI de postgresql

 ulsdb=> \q

Instalación de phppgadmin

 apt-get install phppgadmin


Referencias