Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
18H
54M
4S
Curso de PostgreSQL

Curso de PostgreSQL

Oswaldo Rodr铆guez Gonz谩lez

Oswaldo Rodr铆guez Gonz谩lez

Interacci贸n con Postgres desde la Consola

4/32
Recursos

Aportes 154

Preguntas 40

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

RESUMEN

  1. ENTRAR A LA CONSOLA DE POSTGRES
    psql -U postgres -W
  2. VER LOS COMANDOS \ DE POSTGRES
    \?
  3. LISTAR TODAS LAS BASES DE DATOS
    \l
  4. VER LAS TABLAS DE UNA BASE DE DATOS
    \dt
  5. CAMBIAR A OTRA BD
    \c nombre_BD
  6. DESCRIBIR UNA TABLA
    \d nombre_tabla
  7. VER TODOS LOS COMANDOS SQL
    \h
  8. VER COMO SE EJECTUA UN COMANDO SQL
    \h nombre_de_la_funcion
  9. CANCELAR TODO LO QUE HAY EN PANTALLA
    Ctrl + C
  10. VER LA VERSION DE POSTGRES INSTALADA, IMPORTANTE PONER EL ';'
    SELECT version();
  11. VOLVER A EJECUTAR LA FUNCION REALIADA ANTERIORMENTE
    \g
  12. INICIALIZAR EL CONTADOR DE TIEMPO PARA QUE LA CONSOLA TE DIGA EN CADA EJECUCION 驴CUANTO DEMORO EN EJECUTAR ESA FUNCION?
    \timing
  13. LIMPIAR PANTALLA DE LA CONSOLA PSQL
    Ctrl + L

Resumen:
Comandos importantes:
Si quiero ver el listado de todos los comandos con \ escribo en consola de postgres: ?

  1. Listar todas las bases de datos: \l
  2. Ver las tablas de una base de datos: \dt
  3. Cambiar a otra base de datos: \c nombre_DB
  4. describir una tabla: \d nombre_tabla
  5. Ver comandos SQL: \h
  6. Ver como se ejecuta un comando SQL: \h nombre_de_la_funci贸n
  7. Control + c: Cancela todo lo que hay en pantalla.
  8. Consultar versi贸n de postgres instalada: SELECT version();
  9. Volver a ejecutar la funci贸n que acabaste de ejecutar en la consola: \g
  10. Inicializar el contador de tiempo para que la consola diga cuanto se demoro en ejecutar ese comando : \timing
  11. Control + L: Limpiar pantalla.

Casi me da un infarto cuando ejecute \d viajero y no mostraba nada 馃く, luego me di cuenta que se trataba de una base de datos distinta, comparto los scripts que use para crear la base de datos transporte_masivo y la tabla viajero:

postgres=# CREATE DATABASE transporte_masivo;

postgres=# \c transporte_masivo

transporte_masivo=# CREATE TABLE viajero (
  id_viajero SERIAL,
  nombre VARCHAR,
  fecha_registro DATE,
  CONSTRAINT pk_pasajero PRIMARY KEY (id_viajero)
);

transporte_masivo=# CREATE INDEX idx_pasajero_fechacreacion ON viajero (fecha_registro);

Instalaci贸n de PostgreSQL en Linux

	# Debian
	sudo apt-get update && apt-get upgrade
	
	# Instalar motor de bases de datos
	sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev
	
	# Acceso de usuario, desde la cuenta de root
	su -
	su - postgres

	# Crear usuario y base de datos
	createuser --interactive
		role? -> usuario
		superuser?
		
	psql
		# \password usuario
		# \q
		
    createdb nom_bbdd
	
    # Fedora
    dnf install postgresql-server postgresql-contrib
    
    postgresql-setup initdb
    
    systemctl enable postgresql.service
    systemctl start postgresql.service
    
    # Crear un usuario administrador
    createuser -s -P -e nom_usuario

El video anterior solo crea la BD 鈥渢ransporte_publico鈥, pero no 鈥渢ransporte_masivo鈥 con las tablas.

****** Comandos b谩sicos de PostgreSQL******

  • \l = para listar todas las bases de datos existentes
  • \dt = para listar todas las tablas que existen en una base de datos
  • \c = para cambiar a otra base de datos
  • \d = para describir la base de datos o la tabla
  • \h = para ver todas las funciones que podemos ejecutar en PostgreSQL
  • SELECT versi贸n(); = para ver la versi贸n de PostgreSQL
  • \g = volver a ejecutar la funci贸n que justamente acabaste de ejecutar en la consola
  • \timing = inicializar el contador de tiempo para que la consola muestre en cada ejecuci贸n cuanto se demoro en ejecutar ese comando

APORTE:
te aparece este error en la consola de SQL SHELL de PostgreSQL y de CMD cuando ingresas un comando cualquiera

鈥榤ore鈥 no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Respuesta:

Esto indica que psql internamente intenta ejecutar el comando more de windows pero no lo localiza.

Para solucionarlo agregue el directorio donde se localiza el comando more a la variable de entorno PATH del sistema.

Por lo general el comando externo more se encuentra en el directorio c:\Windows\System32.

y hacen los siguientes pasos, se dirigen a mi equipo luego click derecho en propiedades y en configuraci贸n avanzada del sistema

se dirigen a opciones avanzadas y click en variables de entorno, le aparecer谩 la opci贸n Path lo seleccionan y click en editar

luego en nuevo y agregan la ubicaci贸n del directorio more osea este C:\Windows\System32, despu茅s aceptar a todo y listo cierran

y vuelven a abrir CMD y SQL SHELL de PostgreSQL y resuelto el problema espero haberte ayudado.

Es necesario revisar el orden de las clases y alinearlo con los contenidos. En esta clase se utiliza una base que ya incluye unas tablas. Cosa que no se ha hecho en las lecciones anteriores. Yo s茅 que el curso no est谩 actualizado, pero esto deber铆a ser revisado con cuidado.

Mi resumen:

\l: Lista todas las bases de datos
\dt: Listas las tablas de la actual base de datos
\c: Cambia de base de datos
	\c nombreBD
\d: Describe la tabla actual
\h: Ayuda
\h comando: Ejemplo de uso y para que sirve un tipo man de linux
\g: Ejecuta el ultimo comando
\timing: Activa o desactiva el tiempo que le toma una consulta completarse

Comandos en porgresql (consola)
鈥 Create database nombre_bd
鈥 \c nombre_bd (Es como si fuera el use DB)
鈥 \l -> Muestra todas las bases de datos (ele min煤scula)
鈥 \dt -> muestra las tablas
鈥 \d -> muestra los detalles de la tabla
鈥 \h -> ayuda para comandos de SQL
鈥 \h palabra_sql ->Muestra c贸mo usar la funci贸n
鈥 Ctrl + c -> cancela lo que se estaba mostrando
鈥 \g -> permite volver a ejecutar la funci贸n que acabas de ejecutar en la consola
鈥 \timing -> permite activar el contador de tiempo para as铆 saber cu谩nto se demora una respuesta

Excelente, me parece muy interesante que Postgres tenga comandos propios tipo Unix Shell para realizar acciones.

En Oracle (por ejemplo), para describir una tabla es con la sentencia:

DESC nombre_tabla;

y para listar todas las bases de datos (en un entorno contenedor) es;

SELECT NAME, OPEN_MODE FROM V$PDBS;

Me parece que la gesti贸n de BD as铆 como de objetos es mucho m谩s sencilla (pero a la vez super poderosa) en POSTGRES.

Mi resumen

  • \l mostrar las bases de datos
  • \dt tablas que contiene la base de datos
  • \c para cambiar de base de datos
  • \d 鈥渢abla鈥 describe la estructura de la tabla
  • \h todos los comandos de SQL

Hola, les comparto 2 comandos que aprend铆 por necesidad de salir y no saber c贸mo (jjjj):
q = volver al prompt
\q= salir de la base de datos.

Para los que no pueden limpiar la pantalla con Ctrl + L tal y como dicen algunos comentarios existe el siguiente comando:

 \! cls

驴C贸mo le doy no me gusta a una clase? porque va muy mal :v

Ingresar a la consola desde ubuntu: sudo su postgres

psql -U postgres -W

Comandos de navegaci贸n y consulta de informaci贸n

  • ? = ver lista de todos los comandos disponibles en consola, (con backslash)

  • \l = para listar todas las bases de datos existentes

  • \dt = para listar todas las tablas que existen en una base de datos

  • \c = para cambiar a otra base de datos

  • \d = para describir la base de datos o la tabla

  • \du = listar usuarios

  • \dv = listar vistas de la bd actual

  • \df = listar funciones

  • \dn = listar esquemas

  • \h = para ver todas las funciones que podemos ejecutar en PostgreSQL \h ALTER

  • SELECT versi贸n(); = para ver la versi贸n de PostgreSQL

  • \q = Cerrar consola

Con ctrl + L pueden limpiar la pantalla

Para ser basico, siento que abruma un poco esta clase del curso, adicional van directo a consola鈥 Ser铆a bueno que revisen el orden de las clases

En que momento crea la tabla viajero?

Una ayuda adicional 馃槃

Acceso desde la terminal de Linux

鉂 sudo -i -u postgres
postgres@inspiron-5577:~$ psql 
psql (14.0 (Ubuntu 14.0-1.pgdg20.04+1), server 13.4 (Ubuntu 13.4-4.pgdg20.04+1))
Type "help" for help.

postgres=#
\l => lista todas las bases de datos, postgres, template0, template1 son base por defecto

\c => cambia a una base de datos.

\dt => te muestra las tablas que tiene la base de datos.

\d <<tabla>> => nos describe la tabla, columnas, tipos de datos, collation, reglas e 铆ndices

\h ver funciones de SQL

SELECT version();

\g => ejecuta la 煤ltima consulta ejecutada en el servidor

\timing => inicializa el contador de tiempo en cada ejecuci贸n, esto es para optiminzar ```

Comandos vistos en el video:

## Visualizar todos los comandos
\?
##  Visualizar todas la bases de datos 
\l (listing)
## Cambiar la base de datos utilizada 
\c (change) 
## Muestra la tablas que se encuentran dentro de la base de datos 
\dt 
## Muestra la informacion de una tabla en especifico 
\d
## Todas las consultas de SQL que podemos realizar  
\h
## Version que estamos utilizando 
SELECT version();
         version                                                             
---------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 11.8 (Ubuntu 11.8-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit
 

## Repite la ultima funcion que se ejecuto en el servidor 
\g 

## Timing: inicia el contador de tiempo para saber cuanto tiempo se toma en realizar determinada funcion
\timing 

Les dejo este enlace con cheatsheet donde estan los comandos mas utilizados.
Mas comando de postgres

\timing; Con esta funci贸n podemos visualizar el tiempo que demora el motor de la base de dato en ejecutar una consulta y con este dato se puede optimizar las consultas.

LIMPIAR PANTALLA EN WINDOWS.
comando:
BARRA INVERTIDA + ! + espacio + cls

Ten en cuenta que si est谩s haciendo la prueba con la base de datos diferente a la que est谩 por defecto en Postgres, debes poner el nombre del schema y luego un punto. Por ejemplo: schema platzi: \dt platzi.
Tambi茅n para listar los schemas de una base de datos se puede usar \dn

Comparto enlace de referencia:
https://stackoverflow.com/questions/34098326/how-to-select-a-schema-in-postgres-when-using-psql

para limpiar la consola

\! cls

Guia basica para seguir el ejemplo,
ingresar a la bd
Creacion de la base de datos
create database transporte_masivo;
crear tabla
create table viajero(id serial primary key);
y ya con eso, es una estructura de una tabla con un campo id

Para la barra invertida () el comando es alt+92

Si quires acceder desde docker al command line de postgres:

docker exec -it <CONTAINER_ID> bash
psql -h <HOST> -p <PORT>-U <USERNAME> -W

Ejemplo:

docker exec -it 82ca25bfcbfe bash
psql -h localhost -p 5432 -u postgres -W

solo ense帽aron para windows鈥 y si tengo MAc?

ya no puedo tomar el curso??

Para el Lunes 16/11/2020 este v铆deo no se est谩 reproduciendo

Existen 2 formas para acceder a la base de datos

  • Consola
  • interfaz gr谩fica

++La interfaz gr谩fica puede presentar problemas por eso se recomienda el uso de la consola ++

SERVER [LOCALHOST] : ip o nombre de dominio donde se encuentra alojado tu servidor

DATABASE[POSTGRES]: el nombre de la base de datos a la que quieras acceder

POR[5432] si necesitas cambiar el puerto por cuestiones de seguridad

USARNAME[POSTGRES] si se configuro alg煤n otro usuario(se vera mas adelante)

PASSWORD contrase帽a importante colocarla

? Listar comandos.

Entendido, comandos basicos pero que se utilizan a diario.

Excelente que el curso de instruccion de como usar postgreSQL desde la consola.

Pero la interfaz grafica es para facilitar las cosas como para poder hacer sentencias de sql complejas existen opciones que te habilitan ya hechas. El decir que consola es para un 鈥渕ejor uso de la BD鈥 no seria tan cierta es para poder hacer ciertas cosas no es la mejor opci贸n.

Bac Slash "\"(alt+92) y sus comandos

# CREATE TABLE ```sql CREATE TABLE CREATE TABLE viajero ( id_viajero SERIAL, nombre VARCHAR, fecha_registro DATE, CONSTRAINT pk_viajero PRIMARY KEY (id_viajero) ); CREATE INDEX idx_pasajero_fechacreacion ON viajero (fecha_registro); ```

No inventes, apenasesta clase viene el uso directo de la consola y ya llen茅 2 hojas al derecho y al rev茅s de informaci贸n! :0

As铆 va a estasr la masacre xD

Si estan = de novatos que yo, por razones de seguridad la terminal no muestra que tecleaste el PW , recuerded que si se almacena lo que tecleas

Verion 14.8

COMANDOS B脕SICOS postgreSQL

? te trae todos los comandos que puedes usar dentro del comando.
\L para listar las bases de datos instaladas en el motor ( siempre habr谩 tres motores instalados por la f谩brica)
\dt muestra las BD de postgres
\c para entrar en una base BD
\d para seleccionar la tabla que queramos consultar
\h trae todos los comandos que podemos usar en sql
Ctrl C cancela lo que se habia desplegado en pantalla.
SELECT version(); para ver la version de postgres
\g muestra la funci贸n que le ha dado a otro usuario que la est茅 usando a mismo tiempo
\timing muestra el tiempo de ejecuci贸n de la funci贸n.

Para ver el nombre de la base de datos actual

SELECT current_database();

Interacci贸n con Postgres desde la Consola

Ingresamos a consola mediante SQL Shell

Ingresamos con enter con todas las credenciales de acceso, para este caso pr谩ctico.

Comando:

\l -> para visualizar las bases de datos 
\dt -> mostrar谩 las tablas que contiene la base de datos
\c transporte_masivo -> para cambiarnos a la base de datos transporte masivo
\d tabla_consultar -> nos dar谩 informaci贸n sobre la tabla_consulta
\h -> nos permite conocer todos los comandos SQL
\h alter -> para consultar sobre un comando en espec铆fico 
\g -> ejecutamos la 煤ltima funci贸n ejecutada 
\timing -> nos indica cuanto tiempo tarda en ejecutar una consulta o funci贸n 

Interacci贸n con Postgres desde la Consola


Ya una vez inicalizado nuestro contenedor , para acceder a la consola de postgres ejecutamos el siguiente comando docker exec -it <CONTAINER_ID> bash y luego psql -h <HOST> -p <PORT>-U <USERNAME> -W con la congiuracion que hallamos dejado en la imagen de docker, en mi caso este ultimo comando fue: psql -h localhost -p 5432 -U root -W te va a pedir la contrasena, la ingresa y ya estaras dentro de la ocnsola de postgreSQL en tu contenedor Docker.

Comandos

Comandos

  1. \? Ver todos los comando que podemos utlizar en la terminal o consola de PostgreSQL
  2. Ver lista de bases de datos: Para ver una lista de todas las bases de datos disponibles en el servidor, puedes usar el comando \l. ****
  3. Ver lista de tablas: Para ver una lista de todas las tablas en la base de datos actual, puedes usar el comando \dt.
  4. Ver estructura de tabla: Para ver la estructura de una tabla en particular, puedes usar el comando \d nombre_de_tabla.
  5. Ejecutar una consulta SQL: Puedes ejecutar una consulta SQL en la base de datos actual mediante el comando SELECT ....
  6. Salir de la terminal de PostgreSQL: Para salir de la terminal de PostgreSQL, puedes usar el comando \q.
  7. Para limpiar la pantalla CTRL + L

Para instalarlo en Mac recomiendo este video que me ayudo mucho: https://www.youtube.com/watch?v=FtCS_3JuShA&t=191s

transporte_masivo=# \g
version

PostgreSQL 13.9, compiled by Visual C++ build 1914, 64-bit
(1 fila)

Duraci贸n: 0.326 ms

muy buena explicacion

Todos los comandos empiezan con 鈥樷. Para poder listar los comandos en caso que no sepamos muchos podemos hacer

  • ? : listar谩 todos los comandos.

Luego se nos mostrar谩n unos cuantos comandos como estos

  • \l : mostrar谩 todas las bases de datos que haya.

  • \dt : mostrar谩 todas las tablas que haya en la base de datos donde nos encontremos.

  • \g : volver谩 a ejecutar la funci贸n que justamente acabaste de ejecutar en la consola

  • \timing: activar谩 el temporizador para arrojar el tiempo de duraci贸n de cada comando o consulta.

Si por alg煤n motivo nos encontramos en la base de datos incorrecta, podemos ejecutar

  • \c nombredelabasededatos: cambia de la base de datos actual a la que especifiquemos

Luego en la base de datos de nuestra preferencia podemos seguir viendo comandos como

  • \d nombredelatabla : muestra la estructura de la tabla, columnas, tipo de dato, si acepta valores nulos, etc.

Tambi茅n podemos ejecutar c贸digo SQL directamente para hacer consultas de los datos de forma com煤n y corriente, para ver todos los comandos disponibles podemos ejecutar

  • \h : muestra todos los comandos SQL puros disponibles para ejecutar desde la consola

Si tenemos dudas sobre un comando podemos ejecutar la autoayuda de la consola para ese comando con:

  • \h COMANDO : muestra la autoayuda de la consola para poder ejecutar el comando.

Para que se pueda ejecutar el comando de forma correcta es muy importante poner 鈥;鈥 al final, de otra forma SQL Shell pensar谩 que queremos seguir haciendo la consulta en la siguiente l铆nea, por ejemplo esta consulta

  • SELECT * FROM TABLE

No lo ejecutar谩, pensar谩 que queremos seguir la consulta a la siguiente l铆nea, pero esta si la ejecutar谩

  • SELECT * FROM TABLE;

Otros comandos de la consola:

  • \du : lista todos los usuarios.

  • \dv : lista las vistas de la bd actual.

  • \df : lista las funciones.

  • \dn : lista los esquemas.

  • \q: cierra la consola.

Todo bien pero sigo prefiriendo SQL SERVER ._.

En este clase vamos a acceder la programa de Postgre en esta clase desde la consola

Server [Localhost] 鈥 El servicio o dominio donde esta instalado el lugar trabajar

Database [postgres]鈥 El nombre de la base datos

Port [5432]鈥 El puerto desde donde se trabajar谩

Username [postgres] 鈥 El usuario

Despu茅s de esto deber谩s ingresar la contrase帽a que se creo al instalar el programa de Postgress

Estos son algunos de los comandos que utilizaras en la consola de SQL Shell

  1. ENTRAR A LA CONSOLA DE POSTGRES**psql -U postgres -W**
  2. VER LOS COMANDOS \ DE POSTGRES**\?**
  3. LISTAR TODAS LAS BASES DE DATOS**\l**
  4. VER LAS TABLAS DE UNA BASE DE DATOS**\dt**
  5. CAMBIAR A OTRA BD**\c nombre_BD**
  6. DESCRIBIR UNA TABLA**\d nombre_tabla**
  7. VER TODOS LOS COMANDOS SQL**\h**
  8. VER COMO SE EJECTUA UN COMANDO SQL**\h nombre_de_la_funcion**
  9. CANCELAR TODO LO QUE HAY EN PANTALLA**Ctrl + C**
  10. VER LA VERSION DE POSTGRES INSTALADA, IMPORTANTE PONER EL ';'SELECT version();
  11. VOLVER A EJECUTAR LA FUNCION REALIADA ANTERIORMENTE**\g**
  12. INICIALIZAR EL CONTADOR DE TIEMPO PARA QUE LA CONSOLA TE DIGA EN CADA EJECUCION 驴CUANTO DEMORO EN EJECUTAR ESA FUNCION?\timing
  13. LIMPIAR PANTALLA DE LA CONSOLA PSQL**Ctrl + L**

\h Funciona como el comando 鈥渕an鈥 en Linux. Interesante.

otra forma seria con docker:

$ docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

interactuar en docker:

docker exec -it some-postgres bash

ingresar a potgres:

psql -U postgres -W

Lee el archivo 鈥渇ilename鈥 y ejecuta su contenido.

\i filename

Excelente que se pueda manejar las BD desde la consola tipo shell. Grande PostgresSQL!

El timing es bastante 煤til para ver cuanto tiempo toma ejecutar ciertas funciones y as铆 mismo para poder analizar si necesito optimizar una consulta.

es un buen enlace que complementa esta clase muy recomendado

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04

\timing (Te dice cuanto se demor贸 la consola ejecutando un comando)

\g (Volver a ejecutar la funci贸n que acabas de realizar)

SELECT version(); (Nos sirve para ver que versi贸n de SQL tiene la base de datos)

Ctrl + c (Para cancelar lo que sea que est谩 corriendo en pantalla)

\h comando est谩ndar espec铆fico (Para saber como funciona un comando en est谩ndar SQL en espec铆fico)

\h (Para consultar los comandos est谩ndares de SQL)

\d tabla que se quiere consultar (Este comando describe la tabla que pusiste)

\c nombre de base de datos (para cambiar o entrar a una base de datos)

\dt (Las tablas que contiene la base de datos de PostgreSQL)

\l (Listar todas las bases de datos)

Comandos b谩sicos de PostgreSQL

C贸mo acceder a la consola

Consola e interfaz visual

en la instalaci贸n de postgreSQL cuando voy a la consola en user password aparece una llave y noe deja poner la password maestra . estoy dejando los valores predeterminados en todo . lo estoy bajando en Mac M1. alguien me puede ayudar a resolver esto? Gracias

Comparto algunos comandos para poder trabajar con la base de datos desde la consola Shell

Crear una base de datos

Integracion con Postgret desde la consola

\l: Lista todas las bases de datos
\dt: Que tablas tiene la base de datos
\c: Cambiar a base de datos
\d nombre_tabla: descripe la tabla
\h: Muestra las funciones que podemos ejecutar con
comandos sql
\g: permite volver a ejecutar la funcion que acabamos de ejecutar
\timig: inicializa el contador de tiempo

Informaci贸n resumida de esta clase

EstudiantesDePlatzi

  • Existen dos maneras de ingresar a nuestras bases de datos, una es por la consola y la otra es por medio de la interfaz gr谩fica

  • Es bueno saber utilizar la consola

  • Algunos de los comandos m谩s importantes inician con \

  • \l = Este comando nos ayuda para listar nuestras bases de datos

  • \dt = Nos ayuda a mostrar las tablas que contienen nuestra base de datos

  • \c = Nos sirve para ingresar a la base de datos que queramos

  • \d = Nos ayuda a describir la tabla que queramos

  • Dentro de SQL Sell tambi茅n podemos hacer consultas

  • Ctrl + C = Cancela lo que estamos mostrando en el momento

  • \g = Nos ayuda para volver a ejecutar el comando que anteriormente ejecutamos

  • \t = Con este comando podemos activar el timing para saber cuanto tiempo se demora en ejecutar los siguientes comandos

Como curiosidad, si le vuelves a dar \timing entonces vas a desactivar el conteo del tiempo que tarda la consola en ejecutar cada comando.

Postgres desde la consola:

  • \? : lista todos los comandos disponibles del grupo del backslash
  • \l : lista todas las base de datos
  • dt: lista todas las tablas de la base de datos
  • \c transporte_masivo: accedemos a la DB transporte masivo
  • \dt: lista las tablas de la DB donde estamos
  • \d viajero: describe la tabla viajero
  • SELECT version(); podemos hacer consultas SQL
  • \h: lista comandos standard de SQL (control + C para salir)
  • \h ALTER : consulta espec铆fica de una funci贸n SQL
  • \g: vuelve a ejecutar la 煤ltima funci贸n ejecutada teniendo en cuenta TODOS los USUARIOS CONECTADOS.
  • \timing: inicializamos el contador de tiempo para que la consola me diga en cada ejecuci贸n cuanto se demoro en ejecutar ese comando

Brillante. Es la primera vez que lo veo desde la consola. Se aprende mucho. A seguir as铆.

si alguien quiere a帽adir psql shell a windows terminal deben modificar el json de los settings con:
{
鈥済uid鈥: 鈥渰a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}鈥,
鈥渘ame鈥 : 鈥淪QL psql鈥,
鈥渃ommandline鈥: 鈥%PROGRAMFILES%/PostgreSQL/14/scripts/runpsql.bat -i -l鈥,
鈥渉idden鈥: false,
鈥渋con鈥: 鈥%SystemDrive%/PROGRA~1/PostgreSQL/14/scripts/images/pgAdmin4.ico鈥
}

En sistema operativo MacOS, para acceder a la consola de Postgres, es necesario utilizar la app que tiene nativa, y seleccionar la BD que se desea conectar, al hacer eso, se abrira la terminal correspondiente a postgres. Espero que en este curso a帽adan la instalacion tanto para Mac como Linux.

El comando \timing es lo mejor, alguien cree en la siguiente afirmaci贸n?, es verdad que para el ojo humano cualquier cosa que demore m谩s de 0.4 segundos en procesar es inc贸moda de visualizar

Podemos accerder a la BD desde la GUI o la consola. Es m谩s recomendable usar la consola.

  • Ver todos los comandos disponibles: \?
  • Mirar todas las BD: \l
  • Tablas en la BD: dt
  • Crear BD: CREATE DATABASE baseDatos1
  • Entrar a BD: \c baseDatos1
  • Entrar a tabla: \d nombreTabla
  • Pedir ayuda con consultas de SQL: \h
  • Consultar versi贸n de Postgres: SELECT version();
  • Volver a ejecutar el 煤ltimo comando ejecutado \g
  • Encender un cron贸metro: \timing -> te dir谩 cu谩nto se tarda una instrucci贸n en ejecutarse.

EL ERROR:

ERROR: database 鈥減ilot鈥 is being accessed by other users
DETAIL: There is 1 other session using the database.

Es porque la SQL Shell seguia abierta, si alguien mas le sucedio, deben cerrar la SQL shell para poder borrar la base de datos. Digo cerrar, pero puede ser finalizar conexion

Si tienen problemas para entrar en ubuntu les comparto este link, a mi me sirvi贸 mucho: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04

para crear un usuario
#CREATE USER name PASSWORD 鈥榩assword鈥;
para listar los usuarios
#\du

Manejar la l铆nea de comandos es esencial para la correcta creaci贸n y administraci贸n de las bases de datos.

\timing: activa el cron贸metro de tiempo para ver cu谩nto se demora la funci贸n en ejecutarse.

\g es muy 煤til en caso de tener varias consolas o servicios ejecutando versiones en paralelo.

\h: para ver todos los comandos posibles para poner en PostgreSQL.

  • Basic Commands

    <h3>PostgreSQL commands</h3>

    Access the PostgreSQL server from聽psql聽with a specific user:

    psql-U [username];Code language: CSS (css)
    

    For example, the following command uses the聽postgres聽user to access the PostgreSQL database server:

    psql -U postgresCode language: SQL (Structured Query Language) (sql)
    

    Connect to a specific database:

    \c database_name;
    

    For example, the following command connects to the聽dvdrental聽database:

    \c dvdrental;
    You are now connected to database "dvdrental" as user "postgres".Code language: SQL (Structured Query Language) (sql)
    

    To quit the psql:

    \q
    

    List all databases聽in the PostgreSQL database server

    \l
    

    List all schemas:

    \dnCode language: SQL (Structured Query Language) (sql)
    

    List all聽stored procedures聽and functions:

    \df
    

    List all聽views:

    \dvCode language: SQL (Structured Query Language) (sql)
    

    Lists all tables聽in a current database.

    \dt
    

    Or to get more information on tables in the current database:

    \dt+
    

    Get detailed information on a table.

    \d+ table_name
    

    Show a聽stored procedure聽or function code:

    \df+ function_name
    

    Show query output in the pretty-format:

    \x
    

    List all users:

    \du
    

    Create a new聽role:

    CREATE ROLE role_name;
    

    Create a new role with a聽username聽and聽password:

    CREATE ROLE username NOINHERIT LOGIN PASSWORD password;
    

    Change role for the current session to the聽new_role:

    SET ROLE new_role;
    

    Allow聽role_1聽to set its role as聽role_2:

    GRANT role_2TO role_1;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Managing databases</h3>

    Create a new database:

    CREATEDATABASE [IFNOTEXISTS] db_name;Code language: SQL (Structured Query Language) (sql)
    

    Delete a database permanently:

    DROPDATABASE [IFEXISTS] db_name;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Managing tables</h3>

    Create a new table聽or a聽temporary table

    CREATE [TEMP]TABLE [IFNOTEXISTS] table_name(
       pk SERIAL PRIMARYKEY,
       c1type(size)NOT NULL,
       c2type(size) NULL,
       ...
    );Code language: SQL (Structured Query Language) (sql)
    

    Add a new column聽to a table:

    ALTERTABLE table_nameADDCOLUMN new_column_nameTYPE;Code language: SQL (Structured Query Language) (sql)
    

    Drop a column聽in a table:

    ALTERTABLE table_nameDROPCOLUMN column_name;Code language: SQL (Structured Query Language) (sql)
    

    Rename a column:

    ALTERTABLE table_nameRENAME column_nameTO new_column_name;Code language: SQL (Structured Query Language) (sql)
    

    Set or remove a default value for a column:

    ALTERTABLE table_nameALTERCOLUMN [SETDEFAULTvalue |DROPDEFAULT]Code language: SQL (Structured Query Language) (sql)
    

    Add a聽primary key聽to a table.

    ALTER TABLE table_name ADD PRIMARY KEY (column,...);
    

    Remove the primary key from a table.

    
    ALTERTABLE table_name
    DROPCONSTRAINT primary_key_constraint_name;Code language: SQL (Structured Query Language) (sql)
    

    Rename a table.

    
    ALTERTABLE table_nameRENAMETO new_table_name;Code language: SQL (Structured Query Language) (sql)
    

    Drop a table聽and its dependent objects:

    
    DROPTABLE [IFEXISTS] table_nameCASCADE;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Managing views</h3>

    Create a view:

    
    CREATEORREPLACE view_nameASquery;Code language: SQL (Structured Query Language) (sql)
    

    Create a recursive view:

    
    CREATERECURSIVEVIEW view_name(column_list)ASSELECT column_list;Code language: SQL (Structured Query Language) (sql)
    

    Create a materialized view:

    
    CREATEMATERIALIZEDVIEW view_name
    ASqueryWITH [NO]DATA;Code language: SQL (Structured Query Language) (sql)
    

    Refresh a materialized view:

    
    REFRESH MATERIALIZED VIEW CONCURRENTLY view_name;
    Code language: SQL (Structured Query Language) (sql)
    

    Drop a view:

    
    DROPVIEW [IFEXISTS ] view_name;Code language: SQL (Structured Query Language) (sql)
    

    Drop a materialized view:

    
    DROPMATERIALIZEDVIEW view_name;Code language: SQL (Structured Query Language) (sql)
    

    Rename a view:

    
    ALTERVIEW view_nameRENAMETO new_name;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Managing indexes</h3>

    Creating an index with the specified name on a table

    
    CREATE [UNIQUE]INDEX index_name
    ONtable (column,...)Code language: SQL (Structured Query Language) (sql)
    

    Removing a specified index from a table

    
    DROPINDEX index_name;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Querying data from tables</h3>

    Query all data from a table:

    
    SELECT *FROM table_name;Code language: SQL (Structured Query Language) (sql)
    

    Query data from specified columns of all rows in a table:

    
    SELECT column_list
    FROMtable;Code language: SQL (Structured Query Language) (sql)
    

    Query data and select only unique rows:

    
    SELECTDISTINCT (column)
    FROMtable;Code language: SQL (Structured Query Language) (sql)
    

    Query data from a table with a filter:

    
    SELECT *
    FROMtableWHERE condition;Code language: SQL (Structured Query Language) (sql)
    

    Assign an聽alias聽to a column in the result set:

    
    SELECT column_1AS new_column_1, ...
    FROMtable;
    Code language: SQL (Structured Query Language) (sql)
    

    Query data using the聽[LIKE](https://www.postgresqltutorial.com/postgresql-like/)聽operator:

    
    SELECT *FROM table_name
    WHEREcolumnLIKE '%value%'Code language: SQL (Structured Query Language) (sql)
    

    Query data using the聽BETWEEN聽operator:

    
    SELECT *FROM table_name
    WHEREcolumnBETWEENlowANDhigh;Code language: SQL (Structured Query Language) (sql)
    

    Query data using the聽IN聽operator:

    
    SELECT *FROM table_name
    WHEREcolumnIN (value1, value2,...);Code language: SQL (Structured Query Language) (sql)
    

    Constrain the returned rows with the聽[LIMIT](https://www.postgresqltutorial.com/postgresql-limit/)聽clause:

    
    SELECT *FROM table_name
    LIMITlimitOFFSEToffsetORDERBY column_name;Code language: SQL (Structured Query Language) (sql)
    

    Query data from multiple using the聽inner join,聽left join,聽full outer join,聽cross join聽and聽natural join:

    
    SELECT *
    FROM table1
    INNERJOIN table2ON conditionsCode language: SQL (Structured Query Language) (sql)
    
    
    SELECT *
    FROM table1
    LEFTJOIN table2ON conditionsCode language: SQL (Structured Query Language) (sql)
    
    
    SELECT *
    FROM table1
    FULLOUTERJOIN table2ON conditionsCode language: SQL (Structured Query Language) (sql)
    
    
    SELECT *
    FROM table1
    CROSSJOIN table2;Code language: SQL (Structured Query Language) (sql)
    
    
    SELECT *
    FROM table1
    NATURALJOIN table2;Code language: SQL (Structured Query Language) (sql)
    

    Return the number of rows of a table.

    
    SELECTCOUNT (*)
    FROM table_name;Code language: SQL (Structured Query Language) (sql)
    

    Sort rows in ascending or descending聽order:

    
    SELECT select_list
    FROMtableORDERBYcolumnASC [DESC], column2ASC [DESC],...;Code language: SQL (Structured Query Language) (sql)
    

    Group rows using聽[GROUP BY](https://www.postgresqltutorial.com/postgresql-group-by/)聽clause.

    
    SELECT *
    FROMtableGROUPBY column_1, column_2, ...;Code language: SQL (Structured Query Language) (sql)
    

    Filter groups using the聽[HAVING](https://www.postgresqltutorial.com/postgresql-having/)聽clause.

    
    SELECT *
    FROMtableGROUPBY column_1
    HAVING condition;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Set operations</h3>

    Combine the result set of two or more queries with聽[UNION](https://www.postgresqltutorial.com/postgresql-union/)聽operator:

    
    SELECT *FROM table1
    UNIONSELECT *FROM table2;Code language: SQL (Structured Query Language) (sql)
    

    Minus a result set using聽[EXCEPT](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-except/)聽operator:

    
    SELECT *FROM table1
    EXCEPTSELECT *FROM table2;Code language: SQL (Structured Query Language) (sql)
    

    Get intersection of the result sets of two queries:

    
    SELECT *FROM table1
    INTERSECTSELECT *FROM table2;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Modifying data</h3>

    Insert a new row into a table:

    
    INSERTINTOtable(column1,column2,...)
    VALUES(value_1,value_2,...);Code language: SQL (Structured Query Language) (sql)
    

    Insert multiple rows into a table:

    
    INSERTINTO table_name(column1,column2,...)
    VALUES(value_1,value_2,...),
          (value_1,value_2,...),
          (value_1,value_2,...)...
    Code language: SQL (Structured Query Language) (sql)
    

    Update聽data for all rows:

    
    UPDATE table_name
    SET column_1 = value_1,
        ...;Code language: SQL (Structured Query Language) (sql)
    

    Update data for a set of rows specified by a condition in the聽WHERE聽clause.

    
    UPDATEtableSET column_1 = value_1,
        ...
    WHERE condition;Code language: SQL (Structured Query Language) (sql)
    

    Delete all rows聽of a table:

    
    DELETEFROM table_name;Code language: SQL (Structured Query Language) (sql)
    

    Delete specific rows based on a condition:

    
    DELETEFROM table_name
    WHERE condition;Code language: SQL (Structured Query Language) (sql)
    
    <h3>Performance</h3>

    Show the query plan for a query:

    
    EXPLAINquery;Code language: SQL (Structured Query Language) (sql)
    

    Show and execute the query plan for a聽query:

    
    EXPLAINANALYZEquery;Code language: SQL (Structured Query Language) (sql)
    

    Collect statistics:

    
    ANALYZE table_name;
    

Por qu茅 me sal que la contrase帽a es incorrecta??? S贸lo he configurado una sola contrase帽a.

Consola

.

Server [Localhost]

.
Si utilizas una base de datos instalada en otro equipo es necesario escribir la IP o nombre de dominio donde se aloja el servidor.
.
Si no hay modificaci贸n en la configuraci贸n (trabajo en equipo local), solo dar Enter.
.

<h3>Database [postgres]</h3>

.
Base de datos predeterminada, si no hubo cambios solo dar Enter.
.
En caso de haber creado una base de datos diferente en la instalaci贸n y querer acceder a ella, escribir el nombre de la base de datos y dar Enter.
.

<h3>Puerto [5432]</h3>

.
El puerto [5432] es el predeterminado. Dar Enter.
.
Se puede trabajar con un puerto diferente por cuestiones de seguridad.
.

<h3>Usernam [Postgres]</h3>

.
Postgres es predefinido. Dar Enter.

Alguien me podr铆a ayudar, tengo problemas de autenticaci贸n en la consola de postgres, me dice que tengo fallo de autenticaci贸n de ccontrase帽a y escribo la contrase帽a correcta, al entrar apgAdmin utilizando la misma contrase帽a me deja sin ning煤n problema
Espero alguien pueda ayudarme

Me toco trabajar desde consola y ah铆 a puro tutorial sal铆 adelante, espero y este curso me ayude a mejorar mis habilidades.

\g; Con esta instrucci贸n se puede saber la versi贸n con la cual se est谩 trabajando en PostgreSQL y parte tambi茅n se puede visualizar que consultas se est谩n realizando desde otra consola y usuarios.