User Tools

Site Tools


proyecto:instalar_postgres

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
proyecto:instalar_postgres [2017/04/07 23:05] ahoganproyecto:instalar_postgres [2018/04/20 19:49] (current) ahogan
Line 1: Line 1:
 ====== Instalar Postgres ====== ====== Instalar Postgres ======
  
-Para empezar, en el servidor, hay que poner:+Desafortunadamente, por defecto, Debian tiene una versión antigua de Postgres, entonces, tenemos que actualizar los //Debian packages// antes que instalar Postgres. 
 + 
 +Para empezar, en el servidor, hay que editar el siguiente archivo: 
 + 
 +<code> 
 +sudo vim /etc/apt/sources.list.d/pgdg.list 
 +</code> 
 + 
 +(''sudo'' dice que va ejecutar el comando con privilegios administrativos (como "root"). La contraseña es la misma que su cuenta SSH. En vim, hay que presionar ''i'' para empezar a editar el archivo; luego, para guardar y salir, hay que presionar ''Esc'', y después poner '':wq'' [enter].) 
 + 
 +En el archivo, hay que agregar la siguiente linea y guardarlo: 
 + 
 +<code> 
 +deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main 
 +</code> 
 + 
 +Después, hay que bajar y instalar un //signing key// para verificar el //package// nuevo y instalarlo. 
 + 
 +<code> 
 +cd /home/cc3201/ 
 + 
 +sudo apt-get install gnupg 
 + 
 +wget --no-check-certificate --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 
 +</code> 
 + 
 +Así hemos actualizado los //packages// de instalación de Debian. 
 + 
 +Ahora, podemos instalar la versión actual de Postgres (9.6):
  
 <code> <code>
 sudo apt-get update sudo apt-get update
-sudo apt-get install postgres+sudo apt-get install postgresql-9.6
 </code> </code>
  
-''sudo'' dice que va ejecutar el comando con privilegios administrativos (como "root"). La contraseña es la misma que su cuenta SSHAsí hemos actualizado los packages de instalación hemos instalado una versión de Postgres.+Ahora sí, hay postgres. 
 + 
 +El próximo problema es que el usuario de Postgres, por defecto, se llama ''postgres'' y nuestro usuario es ''cc3201'', entonces si intentas con: 
 + 
 +<code> 
 +psql 
 +</code> 
 + 
 +dice 
 + 
 +<code> 
 +psql: FATAL:  role "cc3201" does not exist 
 +</code> 
 + 
 +Pero, dado que tenemos ''sudo'', podemos usar el siguiente comando (''su'': ''s''witch ''u''serpara ingresar como el usuario ''postgres''. 
 + 
 +<code> 
 +sudo su postgres 
 +</code> 
 + 
 +Entonces podemos crear un usuario para ''cc3201'' en Postgres: 
 + 
 +<code> 
 +createuser cc3201 -s 
 +</code> 
 + 
 +La opción ''-s'' significa que ''cc3201'' será un //superuser// (como ''postgres'') que tiene poder administrativoY tenemos que crear una base de datos para el usuario; 
 + 
 +<code> 
 +createdb -O cc3201 cc3201 
 +</code> 
 + 
 +Después, podemos salir de la cuenta de ''postgres'' regresar al usuario ''cc3201'': 
 + 
 +<code> 
 +exit 
 +</code> 
 + 
 +Ahora, podemos probar Postgres: 
 + 
 +<code> 
 +psql 
 +</code> 
 + 
 +<code> 
 +cc3201=# SELECT version(); 
 +</code> 
 + 
 +Finalmente, podemos crear un esquema (//schema//), que es como un grupo de tablas (aquí hay que reemplazar ''<nombre>'' con el nombre del esquema que quieren tener): 
 + 
 +<code> 
 +cc3201=# CREATE SCHEMA <nombre>; 
 +</code> 
 + 
 +Para evitar tener que poner el esquema cada vez, se puede agregarlo al //path// del usuario: 
 + 
 +<code> 
 +cc3201=# ALTER USER cc3201 SET search_path TO <nombre>, public; 
 +</code> 
 + 
 +Ahora, se puede dar solo el nombre de una tabla en el esquema y no el nombre del esquema (p.ej. no hay que poner cc3201=# ''SELECT * FROM <nombre>.tabla''; funciona con ''SELECT * FROM tabla''). 
 + 
 + 
 + 
 +Ahora están listos para crear tablas, cargar datos, armar indices, hacer consultas ... desde aquí, hay que consultar las diapositivas de las clases.
proyecto/instalar_postgres.1491606318.txt.gz · Last modified: 2017/04/07 23:05 by ahogan