Your SlideShare is downloading. ×
0
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
PostgreSQL 9.2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PostgreSQL 9.2

1,502

Published on

Presentación de lo nuevo en PostgreSQL 9.2

Presentación de lo nuevo en PostgreSQL 9.2

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,502
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PostgreSQL 9.2 Ernesto Quiñones Azcárate Regional Press Contact pe@postgresql.org PostgreSQL 9.2 1/16
  • 2. PostgreSQL 9.2 Fecha de lanzamiento: 10 Sep. 2012 El proyecto PostgreSQL estaacostumbrandonos a publicar un release mayor cada año :)Y las mejoras como siempre son sustanciales. PostgreSQL 9.2 2/16
  • 3. PostgreSQL 9.2Y los últimos cambios son...... PostgreSQL 9.2 3/16
  • 4. PostgreSQL 9.2¿Bases de datos muy grandes?Soporte comprobado de hasta 64 cores.●Esto es muy importante porque PostgreSQL usa1 core por conexión, mediciones extraoficialesindican que PostgreSQL administraeficientemente un nivel de concurrencia de 4 a 6veces la cantidad de cores que se le asignan. PostgreSQL 9.2 4/16
  • 5. PostgreSQL 9.2¿Bases de datos muy grandes?●Index-only ScanEsto significa....al leer data de tuplas que son parte de unindice se realiza un “index scan”, el problema es que cuandose obtiene un set de datos en una lectura se puede habermodificado datos y los indices apuntan a datos modificados oinexistentes, solo se puede comprobar el resultadoaccediendo a los datos y comprobandolos.Si se considera que la tabla no será áltamente manipulada,activar esta nueva funcionalidad nos permite acceder almenos 5 veces más rápido a los datos ya que no se accede ala corroboración de los datos en si. PostgreSQL 9.2 5/16
  • 6. PostgreSQL 9.2¿Bases de datos muy grandes?Mejoras en:●● Administración de bloqueos. ● Se ha llegado a 350,000 lecturas por segundo. ● Procesos de escritura más eficientes. ● Probado hasta 14,000 grabaciones por segundo. PostgreSQL 9.2 6/16
  • 7. PostgreSQL 9.2¿Necesidad de Redundancia y Escalabilidad?●9.0 Replicación Asíncrona●9.1 Replicación Síncrona..... y ahora Replicación en Cascada PostgreSQL 9.2 7/16
  • 8. PostgreSQL 9.2¿Necesidad de Redundancia y Escalabilidad?OjO:●Es asíncrono●Funciona al estilo de la replicación implementadaen la versión 9.0 copiando los archivos de WAL PostgreSQL 9.2 8/16
  • 9. PostgreSQL 9.2Nuevos tipos de datos!!!!Range Types:Representan rangos de valores, se puede usar connúmeros enteros (normales y big), numéricos, horas yfechas, pero podemos crear los nuestros propiosusando “create type”.CREATE TABLE reservation (room int, during tsrange);INSERT INTO reservation VALUES (1108, [2010-01-01 14:30, 2010-01-01 15:30)); PostgreSQL 9.2 9/16
  • 10. PostgreSQL 9.2Nuevos tipos de datos!!!!Range Types:@> contains range int4range(2,4) @> int4range(2,3) <--true@> contains element [2011-01-01,2011-03-01)::tsrange @> 2011-01-10::timestamp <--true<@ range is contained by int4range(2,4) <@ int4range(1,7) <--true<@ element is contained by 42 <@ int4range(1,7) <--false PostgreSQL 9.2 10/16
  • 11. PostgreSQL 9.2Nuevos tipos de datos!!!!JSON:Ahora PostgreSQL almacena tipos de datos JSON, estos datos sonvalidados para ser aceptados y luego son almacenados como texto.Tenemos 2 funciones de apoyo:● array_to_json(anyarray [, pretty_bool])● row_to_json(record [, pretty_bool]) PostgreSQL 9.2 11/16
  • 12. PostgreSQL 9.2Y con el soporte de Json viene PL/V8Una nueva extensión para programar funcionesen javascript.CREATE OR REPLACE FUNCTION plv8_test(keys text[], vals text[]) RETURNStext AS $$var o = {};for(var i=0; i<keys.length; i++){ o[keys[i]] = vals[i];}return JSON.stringify(o);$$ LANGUAGE plv8 IMMUTABLE STRICT;SELECT plv8_test(ARRAY[name, age], ARRAY[Tom, 29]); PostgreSQL 9.2 12/16
  • 13. PostgreSQL 9.2 PL/CoffeeCREATE OR REPLACE FUNCTION simple_search_inventory(param_search json) RETURNS json AS$$o = JSON.parse(param_search);/** Take a json search request and output a json dataset **/rs = plv8.execute("SELECT prod_code, prod_name FROM inventory WHERE prod_name ILIKE $1 LIMIT $2OFFSET($3 - 1)*$2", [o.prod_name_search, o.num_per_page, o.page_num]);return JSON.stringify(rs);$$ LANGUAGE plv8 VOLATILE;CREATE OR REPLACE FUNCTION simple_search_inventory(param_search json) RETURNS json AS$$o = JSON.parse(param_search)## Take a json search request and output a json datasetrs = plv8.execute("SELECT prod_code, prod_name FROM inventory WHERE prod_name ILIKE $1 LIMIT $2OFFSET ($3 - 1)*$2", [o.prod_name_search, o.num_per_page, o.page_num])return JSON.stringify(rs)$$ LANGUAGE plcoffee VOLATILE; PostgreSQL 9.2 13/16
  • 14. PostgreSQL 9.2Una nueva herramienta para los DBAspg_stat_statement para descubrir cuantas vecesun query ha sido ejecutado:=#SELECT * FROM words WHERE word= foo; word ­­­­­­    (0 ligne)=# SELECT * FROM words WHERE word= bar; word ­­­­­­ Bar=#select * from pg_stat_statements where query like %words where%;­[ RECORD 1 ]­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­userid              | 10dbid                | 16384query               | SELECT * FROM words WHERE word= ?;calls               | 2 PostgreSQL 9.2total_time          | 142.314 14/16
  • 15. PostgreSQL 9.2Todo esto y muchas más:http://www.postgresql.org/docs/9.2/static/release­9­2.html PostgreSQL 9.2 15/16
  • 16. Los invitamos a probar esta nueva versión......GRACIAS!!!!! Ernesto Quiñones Azcárate Regional Press Contact pe@postgresql.org PostgreSQL 9.2 16/16

×