Recetas/postgresqlbasico

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar

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

Por defecto phppgadmin solo permite que se conecten desde la misma computadora donde esta instalado, pero si se quiere acceder desde otra computadora en la red, se debe configurar el servidor web, para nuestro caso apache2. El archivo a modificar es /etc/apache2/conf-enabled/phppgadmin.conf.

Comentaremos las línea que contiene

 #Require local

Y reiniciaremos el servidor web apache

 service apache2 restart

Y luego solo abriremos el navegador y escribiremos http://<IP DE LA COMPUTADORA>/phppgadmin

Nota: Es de tener en cuenta que phppgadmin no tiene en cuentra el cifrado HTTPS por lo que en sí es inseguro.

Referencias