Curso de PostgreSQL

Curso de PostgreSQL

Oswaldo Rodríguez González

Oswaldo Rodríguez González

Instalación y configuración de la Base de Datos

3/32

Lectura

Vamos a instalar PostgreSQL en nuestra computadora. A continuación veremos el paso a paso y algunos consejos útiles para instalar y configurar correctamente PostgreSQL en nuestro equipo. En éste caso, usaremos Windows, pero los pasos son bastante similares entre los diferentes sistemas operativos.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 244

Preguntas 130

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Instalación de postgres en ubuntu.
sudo apt-get install postgresql postgresql-contrib
instalación de la interfaz gráfica.
sudo apt-get install pgadmin3

Iniciar la base de datos
sudo -u postgres psql -> Indica que se está iniciando sesión con el usuario postgres.
Cambiar la contraseña del usuario postgres.
Dentro de la base de datos activa:
alter user postgres with password ‘<contraseña>’; -> Las comillas en la contraseña son obligatorias.

NOTA: debes cerrar SQL shell para que te permita eliminar la base de datos de prueba que creaste, sino te arrojará el siguiente error, ya que estás conectado a la base de datos desde la consola.

No dejen sin seleccionar Stack Builder es un ERROR, en otros cursos es necesario para realizar conexiones con otros lenguajes como python3 o postgis.

En mi opinión es una mala recomendación.

Para usuarios de linux le recomiendo ver este vídeo para instalar Postgres LINK

Recuerden cerrar SQL shell, para que les permita eliminar la BD

Tengo un inconveniente, no me deja escribir la contraseña en la terminal, alguien sabe a que se puede deber esto? no me deja escribir nada, le doy enter y efectivamente no me deja ingresar porque es una contraseña incorrecta y se cierra

Pude hacer la instalación y el ejercicio sin problemas.

La contraseña no se muestra. Cuando lleguen a ese renglon, simplemente tecleen su contraseña, aunque no vean nada.

Cuando creen la base de datos no coloquen comillas. En el texto/instrucciones figura: “CREATE DATABASE transporte_publico;” , en realidad deben escribir CREATE DATABASE transporte_publico;

Tengan paciencia. Capaz su pc es un poco lenta y una vez que escriben la sentencia puede tardar unos segundos en aparecer CREATE DATABASE, debajo del texto que acaban de tipear. Al menos a mi me sucedió.

Espero sea de utilidad y puedan avanzar

Les dejo una guia para instalar Postgresql usando Docker.

https://www.mariouriarte.com/2020/01/instalar-postgres-en-docker/

Para los que quieran utilizar su terminal preferido, sin iniciar el SQL Shell.
Abren su terminal, y realizan lo siguiente:

Cierren sus SQL shell para poder eliminar su base de datos transporte_publico desde pgAdmin.

instalado sin problemas.
Recuerden que en la consola al momento de pedir la constraseña esta no la mostrara.
pueden cerrar la consola para evitar cualquier problema al momento de intentar eliminar la base de datos

Todo funciona muy bien en windows, pero aun así, me gustaría que hicieran los tutoriales de instalación para todas las plataformas, ya sea Windows, Mac o UNIX, en especial para UNIX.

Si alguien necesita instalar en Ubuntu les dejo un script que les ayuda a hacerlo. 🤓

# ! /bin/bash
# Programa que permite manejar las utilidades de Postres
# Autor: Marco Toscano Freire - @martosfre

opcion=0

# Función para instalar postgres
instalar_postgres () {
    echo -e "\n Verificar instalación postgres ...."
    verifyInstall=$(which psql)
    if [ $? -eq 0 ]; then
        echo -e "\n Postgres ya se encuentra instalado en el equipo"
    else
        read -s -p "Ingresar contraseña de sudo:" password
        read -s -p "Ingresar contraseña a utilizar en postgres:" passwordPostgres
        echo "$password" | sudo -S apt update
        echo "$password" | sudo -S apt-get -y install postgresql postgresql-contrib
        sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '{$PASSWORDpOSTGRES}';"
        echo "$password" | sudo -S systemctl enable postgresql.service
        echo "$password" | sudo -S systemctl start postgresql.service
    fi    
    read -n 1 -s -r -p "PRESIONE [ENTER] para continuar..."
}

# Función para desinstalar postgres
desinstalar_postgres () {
    read -s -p "Ingresar contraseña de sudo:" password
    echo -e "\n"
    echo "$password" | sudo -S systemctl stop postgresql.service
    echo "$password" | sudo -S apt-get -y --purge remove postgresql\*
    echo "$password" | sudo -S rm -r /etc/postgresql
    echo "$password" | sudo -S rm -r /etc/postgresql-common
    echo "$password" | sudo -S rm -r /var/lib/postgresql
    echo "$password" | sudo -S userdel -r postgres
    echo "$password" | sudo -S groupdel postgresql
    read -n 1 -s -r -p "PRESIONE [ENTER] para continuar..."
}

# Función para sacar un respaldo
sacar_respaldo () {
    echo "Sacar respaldo..."i
    echo "Directorio backup: $1"
}

# Función para restaurar un respaldo
restaurar_respaldo () {
    echo "Restaurar respaldo..."
    echo "Directorio respaldo: $1"
}


while :
do
    #Limpiar la pantalla
    clear
    #Desplegar el menú de opciones
    echo "_________________________________________"
    echo "PGUTIL - Programa de Utilidad de Postgres"
    echo "_________________________________________"
    echo "                MENÚ PRINCIPAL           "
    echo "_________________________________________"
    echo "1. Instalar Postgres"
    echo "2. Desinstalar Postgres"
    echo "3. Sacar un respaldo"
    echo "4. Restar respaldo"
    echo "5. Salir"

    #Leer los datos del usuario - capturar información
    read -n1 -p "Ingrese una opción [1-5]:" opcion

    #Validar la opción ingresada
    case $opcion in
        1)
            instalar_postgres
            sleep 3
            ;;
        2) 
            desinstalar_postgres
            sleep 3
            ;;
        3) 
            read -p "Directorio Backup:" directorioBackup
            sacar_respaldo $directorioBackup
            sleep 3
            ;;
        4) 
            read -p "Directorio de Respaldos:" directorioRespaldos
            restaurar_respaldo $directorioRespaldos
            sleep 3
            ;;
        5)  
            echo "Salir del Programa"
            exit 0
            ;;
    esac
done    

Esto lo pueden aprender en esta clase:

https://platzi.com/clases/1468-bash-shell/16577-funciones-de-instalar-y-desinstalar-postgres/

🚀

Me salia un error de conexion al servidor y no abria PGADMIN. lo solucione ingresando a la siguiente carpeta: C:\Users%USERNAME%\AppData\Roaming\pgAdmin y borre su contenido, luego pude abrir PGADMIN

Para quienes recien Octubre 2022 estan comenzando esta instalacion, la version 14 funciona perfectamente para ser instalada, se siguen los pasos tal cual, solo al final para comprobar si PgAdmin funciona correctamente y querer Borrar la Base de datos transporte_publico le sale ERROR otro programa la esta usando, cerrar la consola SHELL y volver a Delete/Drop sobre la base de datos y se borrara. Esto todo para WINDOWS!

Ojo, si en la consola aun estas en la ruta de la base de datos, te arrojara error ya que esta siendo usada

Aquí les dejo un enlace que explica como instalar postgres en WSL y usar pgAdmin en Windows
https://platzi.com/tutoriales/1480-postgresql/12864-instalacion-de-postgresql-en-wsl2-y-accesos-con-pagadmin-en-windows/

Para los que cuentan com Ubuntu, les dejo aquí un blog que muestra como instalar pgadmin4 en este OS.

Ayuda!
PgAdmin, no pasa de esto

En SQL Shell si me permite iniciar

Qué puedo hacer para solucionarlo? :c

Si estas en linux puedes acceder a la db con

sudo -i -u postgres
psql

Si a alguien le interesa instalarlo sin necesidad de instalar postgres en su maquina y utilizar solo docker, pueden seguir este tutorial, espero les sea de ayuda 😃. Aunque lo hice para el Curso Practico de SQL, solo tendrían que cambiar detalles de nombres de las bases de datos.

Recomiendo que cuando vayan a eliminar la base de datos en pgAdmin tenga ya sea cerrada la consola o esten fuera de la base de datos que vayan a eliminar. De lo contrario, no funcionara, o bueno, a mi no me funcionaba hasta que realice lo anterior.

Hay que tener en cuenta que el postgres al día de hoy esta en la versión 14
Tener en cuenta que si vamos a realizar el ultimo paso, el Shell no debe de estar conectado a la base que vamos a eliminar

Para los usuarios Ubuntu hice este tutorial de la instalación de Postgres y de la interfaz visual pgAdmin.
Cualquier cosa que agregar me comentan 😬
https://platzi.com/tutoriales/1480-postgresql/4775-instalacion-de-postgresql-en-ubuntu-1804/

Creo que esta clase, para fines mas didacticos, tuvo que haber sido grabada.

La instalación en MacOS sin ningún problema siguiendo las mismas instrucciones pero con diferente instalador.

Ya hay version 14.5… la intale y pude realizar el ejercico

Me sale una ventana con un error que dice: The PgAdmin 4 server could not be contacted.

He descargado tres diferentes versiones y pasa lo mismo…

Quien me puede ayudar?

Ok la instalación de Postgres en MacOS 11.2.1 Big Sur en una MBP con M1 va más o menos de la siguiente forma:
Primero hay que ir a buscar el instalador en el sitio oficial:
Una vez que lo descargamos vamos a instalarlo, esto va a generar un par de errores al finalizar, pero comprobamos la instalación buscando el SQLShell y corriendo la creación de la base de datos de transporte_publico vista en clase:
Ahora debemos ir a instalar el pgAdmin, porque no viene instalado por defecto en esta versión:
Una vez que está instalado lo vamos a abrir y ahora deberemos crear nuestro servidor local:
Si todo ha salido bien, vamos a poder ver la base de datos de transporte público que creamos desde la terminal:

Por qué no me carga el pgAdmin?, solo se queda cargando.

El psAdmin 4 me daba erro al iniciar. Tuve que desinstalar por completo PostgeSQL junto con el pgAdmin 4 para luego realizar una reinstalacion desde una version de Postgres mas antigua, la versión 10.20. Al momento de instalar dejar seleccionado todos los componentes.
Una vez instalado iniciar el pgAdmin 4 y luego de que levantara correctamente, en el componente de stack builder, seleccionar una version mas reciente del motor de BD (version 14 en mi caso).
No es mucho pero espero sea de utilidad si se les presenta el error de pgAdmin.

Para mac existen una opción diferente:
descargar e instalar postgres.app
descargar e instalar PgAdmin

Seguir los pasos de los instaladores.
con esta opción salen muy pocos y funciona super rápido

Información resumida de esta clase
#EstudiantesDePlatzi

  • Debemos entrar al web y buscar la versión compatible para nuestro sistema operativo

Excelente tutorial, muy bien explicado. Me gustaría resaltar que PgAdmin 4 se ve más amigable que MySQL workbench a la hora de trabajar.

Para la instalacion en LINUX, especificamente Ubuntu es recomendado crear una maquina virtual Ubuntu Server y seguir la documentacion oficial Ubuntu PostgreSQL

¿Pueden hacer demos de instalaciones no tan básicas para linux? por ejemplo instalar por consola pero no en la ubicación por defecto si no en otra en especifico, configurar el idioma, configurar logs.

Gracias

Despues de varios intentos frustantes lo instale en ubuntu 18 LTS en windows
este enlace me ayudo mucho’ https://www.youtube.com/watch?v=ENrtKDNizv8

Dos cositas:

  • Al momento de colocar la clave en SQL Shell no se va a poder ver pero igual aunque ni se mueva el puntero se está escribiendo, solo asegurate de estar colocandola bien, presiona enter y y está.

  • Hay que cerrar SQL Shell al momento de borrar la base de datos porque sino te dice que está en uso.

En caso de que el Pgadmin se quede cargando, se debe eliminar la última versión 4 v 7.4 (Botón de Windows, luego tecleen appwiz.cpl para abir la interfaz para modificar o desinstalar programas, luego busquen la aplicación de PostgreSQL y den doble click. Luego escojan la segunda opción (componentes individuales) y finalmente seleccionen la casilla de pgadmin4).
Luego deben instalar una versión previa 4 v 7.3 (https://www.pgadmin.org/download/pgadmin-4-windows/)

Estaria bueno que se mostrara como instalarlo en macOS y los otros sistemas operativos. Uno tiene que recurrir a Youtube para aprenderlo. Siendo que uno viene a aprender acá.

Sufri para instalar postgres en Linux (la terminal y el pgadmin no compaginaron) , me toco cambiar a windows y hacer el proceso por aca… Seguimos vivos :v

esta algo desactualizado la explicación

Alguien me puede ayudar por favor, me aparece este error:

seria bueno que incluyeran como instalar postgres en WSL2…yo traté pero me dió error…asi que toca seguir usando windows.

Para el que no se acuerde de la contraseña que puso en la instalación de Postgresql (me pasó a mí 😉 aquí les dejo un vídeo que me ayudó a restablecerla https://www.youtube.com/watch?v=FTiG3VZLK0E

Hola, les adjunto este link por si quieren instalarlo en Redhat o Centos 7 :
https://josehuaman.com/instalacion-y-configuracion-de-postgresql-11-1-en-centos-7/

o sino:
INSTALACION
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
yum install postgresql11
yum install postgresql11-server
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11

CONFIGURACION DE USUARIO

passwd postgres
su - postgres
psql
alter user postgres with password ‘micontrasena’;

Me salió un error que indicaba que no podía borrar la base de datos porque estaba siendo usada desde otra sesión, la cuál me imagino que es de sql shell, así que me moví a la base de datos por defecto (postgres)

\c postgres

Luego pude eliminar exitosamente la base de datos desde pgAdmin despues de actualizar la página.

El paso a paso estuvo más que estupendo! Así se hace un paso a paso.

EXCELENTE A DIA DE HOY NO FUNCIONA 😃

Si tienen problemas porque no corre el pgadmin 4 v 7.4, sigan esta respuesta

La guía a pesar de que está hecha para la versión 11 funciona correctamente para hacer la práctica instalando la versión 15

Toma algo de tiempo instalar el software. Pero es parte del procedimiento.

Antes de crear la base de datos con el comando
“CREATE DATABASE transporte_publico;”
Es necesario cerrar SQL shell de lo contrario tendremos un error

QUE HAGO POR FAVOR

Noto que con Mac no hay ninguna explicación

Instalar postgres con docker-compose

version: '3.8'

services:
  db:
    image: postgres:15
    restart: always
    ports:
      - '5432:5432'
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: 1234
    volumes:
      - local_pgdata:/var/lib/postgresql/data

  pgadmin:
    image: dpage/pgadmin4
    restart: always
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: root
    ports:
      - '5050:80'
    volumes:
      - pgadmin-data:/var/lib/pgadmin

volumes:
  local_pgdata:
  pgadmin-data:

Esta fue la forma que a mi me funciono para ubuntu

INSTALACION POSTGRESQL

ACTUALIZAR

sudo apt update
sudo apt upgrade

INSTALACION POSTGRESQL

sudo apt-get install postgresql postgresql-contrib

INSTALAR PGADMIN4

curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
sudo sh -c 'echo “deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main” > /etc/apt/sources.list.d/pgadmin4.list && apt update’
sudo apt install pgadmin4

Instalar PostgreSQL en Ubuntu

Abre una terminal y escribe

$ sudo apt update

Instala PostgreSQL

$ sudo apt install postgresql

Verifica la instalacion

$ sudo systemctl is-active postgresql
$ sudo systemctl is-enabled postgresql
$ sudo systemctl status postgresql

Checa que el servidor este listo para aceptar conexiones

sudo pg_isready

Crear la Base de Datos

Accede al usuario postgres

sudo su - postgres

Corre el comando psql

$ psql
postgres=#

Crea la base de datos

postgres=# CREATE USER tunombre WITH PASSWORD 'contraseña';
postgres=# CREATE DATABASE tunombredb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE tunombredb TO tunombre;
postgres=# \q

Sal usando el comando exit

Instalar pgAdmin4

Este no esta disponible en un repositorio de Ubuntu como PostgreSQL por lo que hay que instalarlo de la siguiente manera, pero antes cambiaremos de usuario para que puedas copiar el comando mas facilmente

$ sudo su - root

Una vez que eres el usuario root ejecuta lo siguiente

$ curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | apt-key add
$ sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

Vuelve a tu usuario y ejecuta lo siguiente

$ sudo apt install pgadmin4

Si alguien esta instalando en WSL, puede que tenga que levantar el puerto antes de iniciar postgres

sudo service postgresql start

Nota: si al borrar la base de datos les sale una alerta que dice que no se puede borrar la base de datos porque otro servicio la está usando… cierren el SQL Shell y vuelvan a intentarlo.
Saludos.

version: "3.8"

services:


  postgres:
    image: postgres
    restart: always
    ports:
      - "5432:5432"
    environment:
      - DATABASE_HOST=127.0.0.1
      - POSTGRES_USER=tuusuario
      - POSTGRES_PASSWORD=tupassword
      - POSTGRES_DB=nombrebasedatos

  pgadmin:
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL:"[email protected]"
      PGADMIN_DEFAULT_PASSWORD: "admin"
    ports:
      - "80:80"
    depends_on:
      - postgres

AVISO
No borren la base de datos “transporte_publico” o vuelvan a crearla, en las clases siguientes la van a necesitar

Yo elimine la base de transporte masivo y el resto de clase me doy cuenta que es importante usarla. No la eliminen o les tocará volver acá para crearla nuevamente

Cuando intento ingresar la clave me marca un error, de hecho no me permite escribirla no se si a alguien mas le haya pasado y como lo soluciono

no se va a poder eliminar la base de datos creada si no se cierra la sesión en la terminal, dará error.

Tuve un inconveniente en el proceso de instalación con la contraseña cuando se debe ingresar en SQL Shell, para los que hayan tenido el mismo problema , la solución esta en este video:
https://www.youtube.com/watch?v=oe6tn99IBIE

Todo va corriendo perfecto, excepto que no quité el check a Stack Builder.

instalada la version 12.5, todo bien hasta ahora

Listo, configurado correctamente para seguir el curso.

.

Excelente tutorial, muy claro

Buenas grupo me sale este error he intentado cambiar de versión varias veces y me sale el mismo error alguien me puede ayudar

¿Qué aplicaciones tiene Stack Builder que aun no nececitamos?

Solo por las dudas, ¿Que es stack builder?

Todo Ok

Todo funcionando!

Todo Ok!!

Bien explicado

Todo listo

Hecho!

Excelente 😄

Me funcionó abrir psql la primera vez, puse la contraseña y salió postgres=#, así que lo cerré y me fui a dormir, al día siguiente abrí psql y salió: Connection refused (0x0000274D/10061)
¿Está el servidor en ejecución en el servidor «localhost» (::1) y aceptando
conexiones TCP/IP en el puerto 5432?
no se pudo conectar con el servidor: Connection refused (0x0000274D/10061)
¿Está el servidor en ejecución en el servidor «localhost» (127.0.0.1) y aceptando
conexiones TCP/IP en el puerto 5432?
Presione una tecla para continuar . . .
no me dejó poner mi contraseña luego de dar enter después del usuario y luego se cerró. Ahora siempre me sale eso en psql y pgAdmin 4 no reconoce mi contraseña, alguien me podría ayudar?

Buena guía de instalación! todo ok para iniciar.

tengo una duda, que tanto de memora utiliza postgre, y si para realizar otro trabajo como le doy de baja al servicio

Hola necesito ayuda, no puedo descargar el instalador, al momento de descargar la penultima versión (12.4) me aparece la ventana de descarga automatica pero no descarga, luego hago click en la opción de descarga si esta no había comenzado automaticamente pero tampoco me descarga, probé en otro PC y pasa lo mismo, gracias por la ayuda

Genial!!! Muchas gracias por la ayuda!!!

Ready!

Instalado postgres (Y)

copiado

Vamos a dominar PostgresSQL 😃

Vamos a aprender con toda PostgresSQL.

todo ok levante PostgresSQL.

Todo listo y comprobado. 😄

Listo, muy detallado y útil el tutorial!!!

muy buen tutorial

Si le sale un error de conexión al servidor y no le abre PGADMIN puede solucionarlo ingresando a la siguiente carpeta: C:\Users%USERNAME%\AppData\Roaming\pgAdmin y borrando su contenido, luego puede abrir PGADMIN

A los usuarios de Ubuntu 20.04 LTS les recomiendo esta guía de instalación de PostgreSQL y pgAdmin4. es super rápida, sencilla y funcional. https://www.tecmint.com/install-postgresql-and-pgadmin-in-ubuntu/

me sa este error… ayuda