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:02] ahoganproyecto:instalar_postgres [2018/04/20 19:49] (current) ahogan
Line 1: Line 1:
 ====== Instalar Postgres ====== ====== Instalar Postgres ======
  
-Para empezar:+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> <code>
-    sudo apt-get update +sudo vim /etc/apt/sources.list.d/pgdg.list
-    sudo apt-get install postgres+
 </code> </code>
  
-`sudodice que va ejecutar el comando con privilegios administrativos (como "root"). La contraseña es la misma que su cuenta SSH. Así hemos actualizado los packages de instalación y hemos instalado una versión de Postgres.+(''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> 
 +sudo apt-get update 
 +sudo apt-get install postgresql-9.6 
 +</code> 
 + 
 +Ahora sí, hay postgres. 
 + 
 +El próximo problema es que el usuario de Postgres, por defecto, se llama ''postgres'' 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''ser) para 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 administrativo. Y 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'' y 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.1491606133.txt.gz · Last modified: 2017/04/07 23:02 by ahogan