No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de PostgreSQL

Curso de PostgreSQL

Oswaldo Rodr铆guez Gonz谩lez

Oswaldo Rodr铆guez Gonz谩lez

Otras Extensiones para Postgres

26/32
Recursos

Aportes 54

Preguntas 5

Ordenar por:

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

o inicia sesi贸n.

Lastima no poder darle LIKE al video. Por que se lo merece!

Una extensi贸n que me pareci贸 muy interesante es passwordcheck la cual verifica el nivel de fortaleza de un password cuando un usuario/rol es creado en la base de datos. Esto, brinda una capa de seguridad adicional protegi茅ndonos de ataques de fuerza bruta ya que garantiza que tenemos una contrase帽a segura.

Puedes listar todas las extensiones disponibles en postgres y visualizar una peque帽a descripci贸n de su funcionamiento con este comando.

SELECT * FROM pg_available_extensions;

Hola a todos, en el siguiente ejemplo us茅 la extensi贸n de encriptaci贸n y use dos par谩metros para el hash md5, en los cuales uso las funciones salt (la cual aplica valores aleatorios) y **md5 b谩sico ** para evidenciar las diferencias en los casos de usuarios con las mismas contrase帽as:

En mi caso usar铆a con frecuencia la extensi贸n PostGIS que habilita **an谩lisis espacial **y manejo de geometr铆as, todo lo necesario para un Sistema de informaci贸n geogr谩fica.

Excelente

CREATE EXTENSION fuzzystrmatch;
SELECT levenshtein('oswaldo', 'osvaldo')
SELECT difference('oswaldo', 'osvaldo');
SELECT difference('beard', 'bird');

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • Existen algunas extensiones instaladas m谩s no activas dentro de PgAdmin que nos ayudan a ejecutar ciertos comandos

  • Con levelnshtein encontramos el n煤mero de diferencias que tienen dos palabras en su escritura.

  • Es importante crear la extensi贸n para usar las funciones normalmente

  • Con difference encontramos que tan similares suenan dos palabras

create extension earthdistance cascade;

select
(
point(-81.3927381, 30.2918842)<@>point(-87.6473133, 41.8853881)
) as distance;

el resultado

873.203527399339

me hubiera servido para cuando trabaj茅 en un sistema de geolocalizaci贸n.

CREATE EXTENSION pgcrypto;

SELECT crypt('123456789', 'md5');
-- Esta funci贸n nos permite encriptar un password
-- segun la forma de encriptaci贸n

Hace unos a帽os hubiera sido interesante haber conocido esta extensi贸n

--CREATE EXTENSION unaccent;
SELECT unaccent('脷ltima acci贸n en la academia espa帽ola')

--Retorna sin acentos
Ultima accion en la academia espanola

Me encontr茅 este caso con Unicode y quise probar

SELECT CONCAT(E'\u4f60', E'\u597d', E'\uff0c', E'\u4e16', E'\u754c')

SELECT unaccent(CONCAT(E'\u4f60', E'\u597d', E'\uff0c', E'\u4e16', E'\u754c'))

-- A este nivel no llega, por buena raz贸n creo
<code>

Ac谩 una muy buena lista de algunas de las extenciones m谩s 煤tiles

Estaba revisando Soundex, que est谩 dentro de fuzzystrmach, y ya me ayuda entender como funcionan aplicaciones como Duolingo.

no cre铆 que fuera real pero hay una extensi贸n que te deja hacer machine learning en postgres se llama mindsdb
https://mindsdb.com/postgresql-machine-learning

jjajajaja yo pens茅 que iba a sonar algo ajajajaja

**QUE CHIMBA DE CLASEEEE, AMO PLATZI **

Encontre la funcion earth() que devuelve el radio supuesto de la Tierra. Util en la construcci贸n de aplicaciones de geolocalizacion, distancias y de mas.

hola creo que uno bueno para implementar es : 篓passwordcheck篓

Excelente caracter铆stica, no sabia de estas capacidades de postgres

El poder de una m:

una clase muy interesante

La extensi贸n que me pareci贸 interesante es "The pg_stat_statements". Te da en una tabla todos los statements (SELECT, UPDATE, etc) ejecutados en un servidor. Puede ser 煤til para alguien que sea el administrador l铆der de los servidores de una empresa (pienso yo). Aqu铆 un screenshot de algunos stats:

<SELECT * FROM vip
  JOIN
  dblink ('dbname=transporte
  port=5432
  host=127.0.0.1
  user=usuario_consulta
  password=admin',
  'SELECT id, nombre FROM pasajeros')
  AS datos_remotos (id integer, nombre VARCHAR)
  USING (id);> 
/*Convierte un nombre (preferiblemente en ingles) en codigo
para comparar sus sonidos.
El siguiente select convierte con la funcion "soundex() un nombre a codigo y luego compara con la fucion ""difference", que tan similares son */

SELECT soundex('Pablo'), soundex('Paul'), difference('Pablo', 'Paul');

La extensi贸n

uuid-ossp

Es usada para tener identificador universales 煤nicos.
UUID

SELECT levenshtein('oswaldo','Osvaldo');
-- Funcion que retorna el n煤mero de letras
-- que hay que cambiar para que las palabras
-- sean iguales.

SELECT difference('oswaldo','osvaldo');
-- Esta funci贸n nos retorna de 0 a  4 que tan
-- iguales suenan las dos palabras.```

馃槈

SELECT levenshtein('beer', 'bear');
SELECT difference('son', sun');

en el caso de que no les agarre link de la pagina es porque hay versiones posteriores solo hay que hacer cambiar el numero en el link: https://www.postgresql.org/docs/11/contrib.html el cambio seria https://www.postgresql.org/docs/16/contrib.html

No tenia ni idea que en SQL habia este tipo de funcionalidades.

Interesante, revise otras extensiones muy interesantes:
https://www.timescale.com/blog/top-5-postgresql-extensions/

Bastante interesante los diferentes usos que se le pueden dar a postgres, y que n solo sirva para bases de datos.

Excelente clase.

beard y bird se pronuncian parecido pero NO IGUALES, la primera lleva una i muy parecida a la del espa帽ol y la 2da tiene una vocal que es como una combinacion entre una 鈥渋鈥 y una 鈥渆鈥

Una clase MUY interesante y util !!

Me pareci贸 interesante la extensi贸n earthdistance.
https://www.postgresql.org/docs/11/earthdistance.html
En realidad son 2 extensiones. En el link explica la forma de instalarla.
Se pueden realizar diferentes c谩lculos sobre la superficie terrestre (distancias, coordenadas, distancia secante, etc) asumiendo que la tierra es perfectamente esf茅rica.
Por ejemplo: de esta manera podemos tomar estos c谩lculos como referencia para compararlos con los realizados en Postgis usando alg煤n geom espec铆fico. De esta manera podemos tener una idea de c贸mo los distintos supuestos de la deformaci贸n de la tierra (geom) afectan estos c谩lculos.

Wow esta extensi贸n me gusto mucho.

La mas interesante para mi caso son dblink y postgis,

Por si trabajan con geolog铆a: Earth distance

PostGis, no lo conoc铆a. Pero ahora se en que puedo usarlo justo.

CREATE EXTENSION fuzzystrmatch;

Select levenshtein(鈥極swaldo鈥, 鈥榦svaldo鈥);
Select difference(鈥極swaldo鈥, 鈥榦svaldo鈥);
Select difference(鈥楤eard鈥, 鈥楤ird鈥);

la que me parece mas interesante el la le SELECT levenshtein, ya que la comparaci贸n de caracteres si se aplica muy bien a una base de datos y por supuesto dblink es indispensable

CREATE EXTENSION name_extension; activamos la extensi贸n;

Alguien me podria ayudar porque si puedo instalar la extencion pero no la puedo ejecutar, aclaro que si la pude instalar.

Ya casi te tengo Data Tree Gardener 馃槀

Uffff me sorprendo todos los d铆as con peque帽as-grandes cosas. Gracias Platzi, gracias Porfe.

Extensiones
-- Creamos la extenxion
CREATE EXTENSION fuzzystrmatch;
-- Funcion que retorna el numero de letras que hay que cambiar para las palabras iguales. 1: True, 0: False.
SELECT levenshtein('oswaldo', 'osvaldo');
-- Funcion para saber que tan iguales suenan, manda valores de 0 a 4, 0: Nada parecido, 4: Muy parecido.
SELECT difference('oswaldo', 'osvaldo');
SELECT difference('beard', 'bird');

Funciones de extensiones para instalar.

Activar la extensi贸n fuzzystrmach

Funci贸n levenshtein

Funci贸n difference

Appendix F. Additional Supplied Modules
Podemos ver la informaci贸n de extensiones

Me encant贸 esta clase mostranos otras funciones que nos pueden ayudar

--Creando la extensi贸n
CREATE EXTENSION fuzzystrmatch;

--Grado de Diferencia de palabras
SELECT levenshtein ('Mario','Maria');

--Grado de pronunciaci贸n de palabras
SELECT difference ('date','bite');
SELECT difference ('java','python');```