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
Transcripci贸n

Aportes 126

Preguntas 27

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

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.

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

****** 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

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

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.

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

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

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

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.

Con ctrl + L pueden limpiar la pantalla

\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.

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

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

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.

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

ya no puedo tomar el curso??

Acceso desde la terminal de Linux

鉂 sudo -i -u postgres
[email protected]:~$ 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=#

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

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 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.

En que momento crea la tabla viajero?

\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.

con \q : sales de la terminal de postgres

No termine siquiera el primer video y me estoy dando cuenta que me voy a volver fan de Postgres, parece mucho m谩s amigable que mysql.

Si aparece un error al tratar de eliminar la Database desde pgAdmin solo cierra la consola antes escribiendo Exit

\timing -> permite inicializar un contador de tiempo para mostrar cu谩nto se tard贸 una consulta en ejecutarse.

\d Con esta instrucci贸n describimos la estructura de una tabla.

\h; | \h name_comand_sql; Con esta instrucci贸n se puede ver todos los comandos sql que se pueden escribir y utilizamos la misma instrucci贸n acompa帽ada de un comando sql se puede ver como se usa.

Existen dos formas de acceder al motor de bases de datos de PostgreSQL y es por: 1. Consola y 2. PgAdmin que es el entorno gr谩fico para acceder a la consola desde

Lo primero que va a pedir son las credenciales de acceso, se debe tomar en cuenta que los valores entre corchetes son los valores por defecto de conexi贸n, s铆 tenemos alg煤n otro servicio al cual queremos acceder debemos indicarlo de lo contrario.

Con \l Listamos todas las bases de datos que tenemos en nuestro motor, por defecto postgres vendr谩 con 3 bases de datos instaladas. La base de dato de postgres es privada y solo puede acceder el motor.

Server [local hosts]: Indica el host de para la conexi贸n. Database [postgres]: el nombre de la base datos. Port [5432]: el puerto donde Postgres est谩 funcionando. Username [postgres]: cual usuarios deseamos conectarnos (roles). Contrase帽a es la contrase帽a del user

La base de dato de postgres es privada y solo puede acceder el motor.

La base de dato de postgres es privada y solo puede acceder el motor.

\c name_data_bases; Con esta instrucci贸n cambiamos de base de dato.

\dt table_name; Con esta instrucci贸n esta instrucci贸n se puede describir cuales tablas tienes una base de dato.

Una de las instrucciones m谩s importante que veremos ser谩 los comando con "\"s铆 deseamos ver m谩s como usarlo y ver otras instrucciones podemos digitar "\?".

SELECT version(); Con esta instrucci贸n se puede saber la versi贸n con la cual se est谩 trabajando en PostgreSQL.

Los comando son amigables y se mantiene la estructura de codigo de un codigo script de sql. A seguir aprendiendo.

Los comandos son muy sencillos.

Empezamos una nueva aventura con esto, espero poder entender

ayudaa compa帽eros, a mi me sale que no se pudo conectar con el servidor, algu茅n sabe por que me sale esto?

Para ver las tablas de la base de datos: \dt

Para entrar a una base de datos: \c

Para acceder a una tabla en especifico: \d + 'nombre de la tabla'

Para saber Queries de SQL: \h

Para salir de la lista de opciones: ctrl + c

Para volver a ejecutar una funci贸n que justo hab铆amos ejecutado en consola: \g

Para saber cuanto tardo la base de datos en ejecutar un comando : \timing

Para saber todos los comandos: \?