SlideShare una empresa de Scribd logo
PostgreSQL 9.1
(Presentación para Libre Software World Conference)




                Presentado por:
            Emanuel Calvo @3manuek
                     DBA
              www.palominodb.com
Sobre el palestrante y la presentación:
• Operational DBA at PalominoDB
• Consultor Principal en Helpame
• DBA Mysql y Oracle en Aedgency.

• Twitter: @3manuek
• Mail: emanuel@{palominodb.com|helpame.com}

• Esta presentación está basada en el artículo del mismo ponente:
     • http://palominodb.com/blog/2011/09/28/postgresql-91-part-1-general-features
Nuevas características
•   Replicación sincrónica
•   Soporte de datos foráneos
•   Soporte de internalización por columna
•   Instantánea de aislamiento serializable (SSI)
•   Tablas efímeras
•   Expresiones comunes de tablas con escritura
•   Algoritmo de KNN para índices GIST e GIN
•   Soporte SE-LINUX
•   Actualización de la versión del lenguaje Python
•   PGXN
•   Otras cosas adicionales...
Replicación Sincrónica

• Control de la sincronización por transacción a través de synchronous_commit.
• Mejoras respecto a la versión 9.0.
• Funciones para pausar y mostrar el estado del esclavo
       • pg_xlog_replay_pause()
       • pg_is_xlog_replay_paused()
       • pg_xlog_replay_resume()
       • pg_last_xact_replay_timestamp()
       • Pg_last_xact_replay_location()
• pg_ctl incluye “promote” para el esclavo
• Clonación de esclavo sin downtime (pg_basebackup)
• Mayor información del estado de los esclavos (pg_stat_replication).
• pg_stat_database_conflicts para saber el estado de consultas canceladas.
Replicación
Fuentes de los servidores Standby
Replicación Sincrónica (una vista más detallada)

                Read/write                                              Read only

                                       NEW

                                             hot_standby_feedback

                                                                    Sync
        Master                                   Wal Receiver       Slave


wal_keep_segments




      Wal Sender
                                                  Wal Receiver
      Wal Sender                                                    Async
                    wal_sender_delay                                Slave
Limitaciones en la replicación

•   Solo un servidor puede ser sincrónico.
•   No soporta multi-master.
•   No soporta replicación parcial.
•   No soporta distribución de datos.
Soporte datos foráneos
                            (MED – Management of External Data)
CREATE EXTENSION file_fdw;

CREATE SERVER pglog FOREIGN DATA WRAPPER file_fdw;

CREATE FOREIGN TABLE gaiyin (
  nombre text,
  numero integer,
  letra char(1)
) SERVER pglog
OPTIONS ( filename 'c:tempfile.csv', format 'csv' );

postgres=# explain select * from gaiyin;
                     QUERY PLAN
-----------------------------------------------------------
 Foreign Scan on gaiyin (cost=0.00..1.10 rows=1 width=44)
   Foreign File: c:tempfile.csv
   Foreign File Size: 36
(3 filas)
                                                              http://wiki.postgresql.org/wiki/SQL/MED
Soporte Datos foráneos - mysql_fdw

apt-get install libmysqld-dev
                                                        CREATE FOREIGN TABLE prueba_my (
* Compilar como un contrib (make; make install)         id integer,
                                                        name text,
CREATE EXTENSION mysql_fdw;                             address text)
                                                        SERVER mysql_svr
CREATE SERVER mysql_srv                                 OPTIONS (table 'palomino.prueba');
FOREIGN DATA WRAPPER mysql_fdw
OPTIONS (address 'localhost', port '3306');

CREATE USER MAPPING
FOR PUBLIC SERVER mysql_srv
OPTIONS (username 'root',password 'postgres');

CREATE FOREIGN TABLE prueba_my
(texto text, numero int, floaty float)
SERVER mysql_srv OPTIONS (table 'palomino.prueba');




                           Fuente: http://pgsnake.blogspot.com/2011/08/postgresql-91-meet-mysql.html
Soporte datos foráneos (conexión a otras bases)



Oracle
Mysql
OBDC
Redis
CouchDB
Filetext
Twitter
LDAP
…

http://wiki.postgresql.org/wiki/Foreign_data_wrappers
http://repositorio.siu.edu.ar/trac/postgresql/wiki/Dblink
Soporte de internalización por columna

CREATE TABLE prueba_texto (                 • < 8.4 el COLLATE estaba ligado al
   _id serial PRIMARY KEY,                    sistema operativo, siendo muy poco
  texto_en text COLLATE 'en_US',              flexible.
  texto_es text COLLATE 'es_ES'             • En esta versión podemos tener
);
                                              incluso columnas con
SELECT                                        ordenamientos específicos.
  texto_es < (’rendevouz’ COLLATE"es_ES")   • Se pueden crear índices utilizando
  FROM prueba_texto;                          un ordenamiento específico.
                                               • En este caso tener cuidado,
SELECT
  texto_es COLLATE "en_EN" < texto_en             porque el utilizar otro COLLATE
  FROM prueba_texto;                              hará que no utilice el índice.

CREATE INDEX ON prueba
 (texto COLLATE “en_US);
SSI
• Serializable Snapshot Isolation (traducirlo? … ¬¬)
    • Aislamiento de Instantánea serializable.
• Postgres ahora soporta 3 niveles transaccionales:
        • READ COMMITED
        • REPETEABLE READ (viejo SERIALIZABLE)
            • Es lo que sería SNAPSHOT ISOLATION
        • SERIALIZABLE
• No es necesario “select for update”
• Simplificación de la programación
• Tiene coste, utiliza bloqueo predicativo, incrementa el número de rollbacks debido a
conflictos.



http://wiki.postgresql.org/wiki/SSI
http://wiki.postgresql.org/images/4/4f/SSI-PGConfEU2011.pdf
Tablas efímeras
•   Llamadas UNLOGGED TABLES.
•   Estas tablas no pueden recuperarse ya que no figuran en la WAL.
•   Minimizan el impacto de escritura en disco.
•   No son replicadas mediante streaming.
•   Truncadas en caso de crash.
•   Casos especiales sobre contención de CLOG
    http://rhaas.blogspot.com/2011/11/hint-bits.html
Expresiones comunes de tablas con escritura
• WCTE
• CTE fue implementado desde 8.4
• Información avanzada: http://wiki.postgresql.org/images/d/da/Ciolli-debug-wcte-2011.pdf

                                                 WITH table_temp(i,j,k) AS
                                                 (
                                                   DELETE FROM prueba WHERE i =9 RETURNING *
                                                 )
                                                 INSERT INTO prueba_del
                                                 SELECT i,j,k
                                                 FROM table_temp;
  WITH RECURSIVE t(a,b) AS (
       VALUES(0,1)
     UNION ALL
       SELECT greatest(a,b), a + b AS a FROM t
       WHERE b < $1
    )
  SELECT a FROM t;
KNN para GiST y GIN
 • Búsqueda de valores cercanos utilizando índices.
   • Facilita la búsqueda de puntos cercanos.
 • Operador “<->”



Artículo ejemplo:
http://www.palominodb.com/blog/2011/10/12/indexing-text-columns-gist-or-gin-optimize-ilike-using-pgtrgm-postgres-91-part-1
http://wiki.postgresql.org/images/4/46/Knn.pdf
Soporte SE-LINUX
• Integración con SE-LINUX.
• Tienen prioridad los permisos otorgados desde el SO en vez de los de la Base de
  Datos.
• Este módulo debe ser activado explícitamente.
• Se basa en la creación de SECURITY LABELS
• NOTA: Se requiere que las librerías de SELINUX del kernel sean mayores a las
  2.0.93. Estas librerías vienen por defecto en los kernels mayores a 2.0.33




             http://wiki.postgresql.org/wiki/SEPostgreSQL_Documentation
Características menores (ALTER ENUM)


• ALTER TYPE tipo_enum ADD VALUE new_value [{BEFORE|AFTER} existing_value];

              CREATE TYPE lista AS ENUM ('tipoa','tipob','tipoc');

              ALTER TYPE lista ADD VALUE 'tipoa2' AFTER 'tipoa';
PGXN
https://github.com/pgxn/pgxn-client
http://pgxn.org/faq/
Cambios varios
• Casteos para tipos compuestos como al estilo función/atributo fueron dehabilitados.
    • valor_compuesto.text, text(valor_compuesto)
• CREATE EXTENSION
• Puesta a punto automática de wal_buffers
• Mejoras en índices GiST y GIN
• Evento INSTEAD OF para disparadores (útil para creación de vistas actualizables)
• Soporte de compilación para Windows 64 bits
• standard_conforming_strings ahora está establecido por defecto en ‘on’
    • Antes ‘O’Connor’ , ahora ‘O’’Connor’ o E’O’Connor’
• Cambios en PL/SQL (RAISE sin parámetros)
• Performance mejorada para tablas heredadas (Merge Append node – Ordenamiento de
tablas heredadas dentro del append en vez de fuera).
• Algoritmo Hash para FULL OUTER JOIN.
• Información detallada: http://www.postgresql.org/docs/9.1/static/release-9-1.html
Cambios varios (II)
• Permisos de replicación (no hace falta que el usuario sea SUPERUSER)
• Mejoras en la seguridad de conexión entre servidores replicados para evitar ataques
internos.
• Dependencias funcionales de una PK reconocidas por el GROUP BY.
    • Antes: ERROR: column "tabla.col_pk" must appear in the GROUP BY clause or be
      used in an aggregate function.
•
Novedades varias
• PLV8 ( JavaScript V8 procedural language)
• Postgres-XC http://postgres-xc.sourceforge.net/
• PgPool II 3.1
• Nuevas versiones de londiste, plproxy, bucardo e/otros.
PostgreSQL 9.2

Características integradas / a integrar:

* Index only scans
* Slave replication cascade
* Fix para las unlogged tables en concurrencia masiva
*…


http://wiki.postgresql.org/wiki/PostgreSQL_9.2_Development_Plan
Gracias por asistir!!
Presentación hecha en Libre/Open Office
LSWC PostgreSQL 9.1 (2011)

Más contenido relacionado

La actualidad más candente

Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
Carlos Gustavo Ruiz
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
T.I.C
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Santa Edith De La Cruz Gonzalez
 
Cuellos botella en PostgreSQL
Cuellos botella en PostgreSQLCuellos botella en PostgreSQL
Cuellos botella en PostgreSQL
EQ SOFT EIRL
 
Presentación de Postgresql 9.1
Presentación de Postgresql 9.1Presentación de Postgresql 9.1
Presentación de Postgresql 9.1
EQ SOFT EIRL
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
Onestic
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
Base de Datos
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3
Ciencias
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
Johanna Mendez
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oracle
jftorres92
 
Tp1 db avanz-v1.1
Tp1 db avanz-v1.1Tp1 db avanz-v1.1
Tp1 db avanz-v1.1
Javier Caniparoli
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
Ing-D-SW-TorresKhano--ME
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Adrián Lois
 
Instalar Oracle 11g R2 CentOS 6.4
Instalar Oracle 11g R2 CentOS 6.4Instalar Oracle 11g R2 CentOS 6.4
Instalar Oracle 11g R2 CentOS 6.4
Moisés Elías Araya
 
Postgre
PostgrePostgre
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Alejandro E Brito Monedero
 
JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3 JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
César Pajares
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
Javier Turégano Molina
 
Dba PostgreSQL desde básico a avanzado parte1
Dba PostgreSQL desde básico a avanzado parte1Dba PostgreSQL desde básico a avanzado parte1
Dba PostgreSQL desde básico a avanzado parte1
EQ SOFT EIRL
 
Exposicion apache kafka
Exposicion apache kafkaExposicion apache kafka
Exposicion apache kafka
Arlin11
 

La actualidad más candente (20)

Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
 
Cuellos botella en PostgreSQL
Cuellos botella en PostgreSQLCuellos botella en PostgreSQL
Cuellos botella en PostgreSQL
 
Presentación de Postgresql 9.1
Presentación de Postgresql 9.1Presentación de Postgresql 9.1
Presentación de Postgresql 9.1
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oracle
 
Tp1 db avanz-v1.1
Tp1 db avanz-v1.1Tp1 db avanz-v1.1
Tp1 db avanz-v1.1
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
Instalar Oracle 11g R2 CentOS 6.4
Instalar Oracle 11g R2 CentOS 6.4Instalar Oracle 11g R2 CentOS 6.4
Instalar Oracle 11g R2 CentOS 6.4
 
Postgre
PostgrePostgre
Postgre
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
 
JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3 JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
JBoss AS Implantación - configuración - Curso JBoss JB366 Día 3
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
 
Dba PostgreSQL desde básico a avanzado parte1
Dba PostgreSQL desde básico a avanzado parte1Dba PostgreSQL desde básico a avanzado parte1
Dba PostgreSQL desde básico a avanzado parte1
 
Exposicion apache kafka
Exposicion apache kafkaExposicion apache kafka
Exposicion apache kafka
 

Similar a LSWC PostgreSQL 9.1 (2011)

Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
Johanna Mendez
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
Giuseppe Maxia
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
Ronald Francisco Vargas Quesada
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvm
superserch
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
scastell77
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
Julián Castiblanco
 
Base de dato
Base de  dato Base de  dato
Base de dato
Niduvit Salgado
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
Niduvit Salgado
 
Introducción a PostgreSql
Introducción a PostgreSqlIntroducción a PostgreSql
Introducción a PostgreSql
RicardoMartinGomez
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
Microsoft Argentina y Uruguay [Official Space]
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
William Yánez
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
Byron Quisquinay
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Nelson Calero
 
High Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on LinuxHigh Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on Linux
Olaf Reitmaier Veracierta
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
Hermione Sanz Angel
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQL
EQ SOFT EIRL
 
Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0
Marcos Ortiz Valmaseda
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Joseph Lopez
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
camposer
 
Sysmana 2017 monitorización de logs con el stack elk
Sysmana 2017   monitorización de logs con el stack elkSysmana 2017   monitorización de logs con el stack elk
Sysmana 2017 monitorización de logs con el stack elk
José Ignacio Álvarez Ruiz
 

Similar a LSWC PostgreSQL 9.1 (2011) (20)

Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvm
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
 
Base de dato
Base de  dato Base de  dato
Base de dato
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
 
Introducción a PostgreSql
Introducción a PostgreSqlIntroducción a PostgreSql
Introducción a PostgreSql
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
 
High Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on LinuxHigh Availability, Load Balancing and Replication on Linux
High Availability, Load Balancing and Replication on Linux
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQL
 
Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
 
Sysmana 2017 monitorización de logs con el stack elk
Sysmana 2017   monitorización de logs con el stack elkSysmana 2017   monitorización de logs con el stack elk
Sysmana 2017 monitorización de logs con el stack elk
 

Más de Emanuel Calvo

Open Source SQL Databases
Open Source SQL DatabasesOpen Source SQL Databases
Open Source SQL Databases
Emanuel Calvo
 
Demystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scDemystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live sc
Emanuel Calvo
 
Pgbr 2013 fts
Pgbr 2013 ftsPgbr 2013 fts
Pgbr 2013 fts
Emanuel Calvo
 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on aws
Emanuel Calvo
 
PostgreSQL and Sphinx pgcon 2013
PostgreSQL and Sphinx   pgcon 2013PostgreSQL and Sphinx   pgcon 2013
PostgreSQL and Sphinx pgcon 2013
Emanuel Calvo
 
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAYPostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
Emanuel Calvo
 
Monitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQLMonitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQL
Emanuel Calvo
 
Osol Pgsql
Osol PgsqlOsol Pgsql
Osol Pgsql
Emanuel Calvo
 

Más de Emanuel Calvo (8)

Open Source SQL Databases
Open Source SQL DatabasesOpen Source SQL Databases
Open Source SQL Databases
 
Demystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scDemystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live sc
 
Pgbr 2013 fts
Pgbr 2013 ftsPgbr 2013 fts
Pgbr 2013 fts
 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on aws
 
PostgreSQL and Sphinx pgcon 2013
PostgreSQL and Sphinx   pgcon 2013PostgreSQL and Sphinx   pgcon 2013
PostgreSQL and Sphinx pgcon 2013
 
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAYPostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
 
Monitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQLMonitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQL
 
Osol Pgsql
Osol PgsqlOsol Pgsql
Osol Pgsql
 

Último

tecnosaramineiropalaciosegundoperiodo.docx
tecnosaramineiropalaciosegundoperiodo.docxtecnosaramineiropalaciosegundoperiodo.docx
tecnosaramineiropalaciosegundoperiodo.docx
SaraMineiropalacio
 
Presentacion de materiales FLEXIBLES tecnología e innovaciones
Presentacion de materiales FLEXIBLES tecnología e innovacionesPresentacion de materiales FLEXIBLES tecnología e innovaciones
Presentacion de materiales FLEXIBLES tecnología e innovaciones
ridunoge2
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
DianaGray10
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
Bifurcaciones edición 18 - eHealth (salud digital)
Bifurcaciones edición 18 - eHealth (salud digital)Bifurcaciones edición 18 - eHealth (salud digital)
Bifurcaciones edición 18 - eHealth (salud digital)
Juan Jesús Velasco Rivera
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 
FOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdf
FOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdfFOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdf
FOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdf
JosGregorioFernndezA
 
PROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDAD
PROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDADPROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDAD
PROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDAD
241578066
 
Guía práctica DE INTELIGENCIA ARTIFICIAL
Guía práctica  DE INTELIGENCIA ARTIFICIALGuía práctica  DE INTELIGENCIA ARTIFICIAL
Guía práctica DE INTELIGENCIA ARTIFICIAL
samuel479747
 
IPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdf
IPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdfIPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdf
IPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdf
IPLOOK Networks
 
Automatismos industriales Juan Martin y María Garcia.pdf
Automatismos industriales Juan Martin y María Garcia.pdfAutomatismos industriales Juan Martin y María Garcia.pdf
Automatismos industriales Juan Martin y María Garcia.pdf
AlbertoCarlosChauca2
 
TRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdf
TRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdfTRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdf
TRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdf
d87pgcmxqg
 
INTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datos
INTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datosINTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datos
INTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datos
Fabián Descalzo
 

Último (13)

tecnosaramineiropalaciosegundoperiodo.docx
tecnosaramineiropalaciosegundoperiodo.docxtecnosaramineiropalaciosegundoperiodo.docx
tecnosaramineiropalaciosegundoperiodo.docx
 
Presentacion de materiales FLEXIBLES tecnología e innovaciones
Presentacion de materiales FLEXIBLES tecnología e innovacionesPresentacion de materiales FLEXIBLES tecnología e innovaciones
Presentacion de materiales FLEXIBLES tecnología e innovaciones
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
Bifurcaciones edición 18 - eHealth (salud digital)
Bifurcaciones edición 18 - eHealth (salud digital)Bifurcaciones edición 18 - eHealth (salud digital)
Bifurcaciones edición 18 - eHealth (salud digital)
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 
FOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdf
FOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdfFOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdf
FOROS, BLOGS Y CHATS HERRAMIENTAS PARA LA COMUNICACIÓN VIRTUAL.pdf
 
PROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDAD
PROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDADPROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDAD
PROYECTO INTEGRADOR: LAS TIC EN LA SOCIEDAD
 
Guía práctica DE INTELIGENCIA ARTIFICIAL
Guía práctica  DE INTELIGENCIA ARTIFICIALGuía práctica  DE INTELIGENCIA ARTIFICIAL
Guía práctica DE INTELIGENCIA ARTIFICIAL
 
IPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdf
IPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdfIPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdf
IPLOOK Solución de core móvil convergente 4G&5G de punta a punta.pdf
 
Automatismos industriales Juan Martin y María Garcia.pdf
Automatismos industriales Juan Martin y María Garcia.pdfAutomatismos industriales Juan Martin y María Garcia.pdf
Automatismos industriales Juan Martin y María Garcia.pdf
 
TRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdf
TRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdfTRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdf
TRABAJO TEGNOLOGICO (ISABELLA BERNAL GUETIO).pdf
 
INTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datos
INTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datosINTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datos
INTELIGENCIA ARTIFICIAL: Ciberseguridad, gobernanza y protección de datos
 

LSWC PostgreSQL 9.1 (2011)

  • 1. PostgreSQL 9.1 (Presentación para Libre Software World Conference) Presentado por: Emanuel Calvo @3manuek DBA www.palominodb.com
  • 2. Sobre el palestrante y la presentación: • Operational DBA at PalominoDB • Consultor Principal en Helpame • DBA Mysql y Oracle en Aedgency. • Twitter: @3manuek • Mail: emanuel@{palominodb.com|helpame.com} • Esta presentación está basada en el artículo del mismo ponente: • http://palominodb.com/blog/2011/09/28/postgresql-91-part-1-general-features
  • 3. Nuevas características • Replicación sincrónica • Soporte de datos foráneos • Soporte de internalización por columna • Instantánea de aislamiento serializable (SSI) • Tablas efímeras • Expresiones comunes de tablas con escritura • Algoritmo de KNN para índices GIST e GIN • Soporte SE-LINUX • Actualización de la versión del lenguaje Python • PGXN • Otras cosas adicionales...
  • 4. Replicación Sincrónica • Control de la sincronización por transacción a través de synchronous_commit. • Mejoras respecto a la versión 9.0. • Funciones para pausar y mostrar el estado del esclavo • pg_xlog_replay_pause() • pg_is_xlog_replay_paused() • pg_xlog_replay_resume() • pg_last_xact_replay_timestamp() • Pg_last_xact_replay_location() • pg_ctl incluye “promote” para el esclavo • Clonación de esclavo sin downtime (pg_basebackup) • Mayor información del estado de los esclavos (pg_stat_replication). • pg_stat_database_conflicts para saber el estado de consultas canceladas.
  • 6. Fuentes de los servidores Standby
  • 7. Replicación Sincrónica (una vista más detallada) Read/write Read only NEW hot_standby_feedback Sync Master Wal Receiver Slave wal_keep_segments Wal Sender Wal Receiver Wal Sender Async wal_sender_delay Slave
  • 8. Limitaciones en la replicación • Solo un servidor puede ser sincrónico. • No soporta multi-master. • No soporta replicación parcial. • No soporta distribución de datos.
  • 9. Soporte datos foráneos (MED – Management of External Data) CREATE EXTENSION file_fdw; CREATE SERVER pglog FOREIGN DATA WRAPPER file_fdw; CREATE FOREIGN TABLE gaiyin ( nombre text, numero integer, letra char(1) ) SERVER pglog OPTIONS ( filename 'c:tempfile.csv', format 'csv' ); postgres=# explain select * from gaiyin; QUERY PLAN ----------------------------------------------------------- Foreign Scan on gaiyin (cost=0.00..1.10 rows=1 width=44) Foreign File: c:tempfile.csv Foreign File Size: 36 (3 filas) http://wiki.postgresql.org/wiki/SQL/MED
  • 10. Soporte Datos foráneos - mysql_fdw apt-get install libmysqld-dev CREATE FOREIGN TABLE prueba_my ( * Compilar como un contrib (make; make install) id integer, name text, CREATE EXTENSION mysql_fdw; address text) SERVER mysql_svr CREATE SERVER mysql_srv OPTIONS (table 'palomino.prueba'); FOREIGN DATA WRAPPER mysql_fdw OPTIONS (address 'localhost', port '3306'); CREATE USER MAPPING FOR PUBLIC SERVER mysql_srv OPTIONS (username 'root',password 'postgres'); CREATE FOREIGN TABLE prueba_my (texto text, numero int, floaty float) SERVER mysql_srv OPTIONS (table 'palomino.prueba'); Fuente: http://pgsnake.blogspot.com/2011/08/postgresql-91-meet-mysql.html
  • 11. Soporte datos foráneos (conexión a otras bases) Oracle Mysql OBDC Redis CouchDB Filetext Twitter LDAP … http://wiki.postgresql.org/wiki/Foreign_data_wrappers http://repositorio.siu.edu.ar/trac/postgresql/wiki/Dblink
  • 12. Soporte de internalización por columna CREATE TABLE prueba_texto ( • < 8.4 el COLLATE estaba ligado al _id serial PRIMARY KEY, sistema operativo, siendo muy poco texto_en text COLLATE 'en_US', flexible. texto_es text COLLATE 'es_ES' • En esta versión podemos tener ); incluso columnas con SELECT ordenamientos específicos. texto_es < (’rendevouz’ COLLATE"es_ES") • Se pueden crear índices utilizando FROM prueba_texto; un ordenamiento específico. • En este caso tener cuidado, SELECT texto_es COLLATE "en_EN" < texto_en porque el utilizar otro COLLATE FROM prueba_texto; hará que no utilice el índice. CREATE INDEX ON prueba (texto COLLATE “en_US);
  • 13. SSI • Serializable Snapshot Isolation (traducirlo? … ¬¬) • Aislamiento de Instantánea serializable. • Postgres ahora soporta 3 niveles transaccionales: • READ COMMITED • REPETEABLE READ (viejo SERIALIZABLE) • Es lo que sería SNAPSHOT ISOLATION • SERIALIZABLE • No es necesario “select for update” • Simplificación de la programación • Tiene coste, utiliza bloqueo predicativo, incrementa el número de rollbacks debido a conflictos. http://wiki.postgresql.org/wiki/SSI http://wiki.postgresql.org/images/4/4f/SSI-PGConfEU2011.pdf
  • 14. Tablas efímeras • Llamadas UNLOGGED TABLES. • Estas tablas no pueden recuperarse ya que no figuran en la WAL. • Minimizan el impacto de escritura en disco. • No son replicadas mediante streaming. • Truncadas en caso de crash. • Casos especiales sobre contención de CLOG http://rhaas.blogspot.com/2011/11/hint-bits.html
  • 15. Expresiones comunes de tablas con escritura • WCTE • CTE fue implementado desde 8.4 • Información avanzada: http://wiki.postgresql.org/images/d/da/Ciolli-debug-wcte-2011.pdf WITH table_temp(i,j,k) AS ( DELETE FROM prueba WHERE i =9 RETURNING * ) INSERT INTO prueba_del SELECT i,j,k FROM table_temp; WITH RECURSIVE t(a,b) AS ( VALUES(0,1) UNION ALL SELECT greatest(a,b), a + b AS a FROM t WHERE b < $1 ) SELECT a FROM t;
  • 16. KNN para GiST y GIN • Búsqueda de valores cercanos utilizando índices. • Facilita la búsqueda de puntos cercanos. • Operador “<->” Artículo ejemplo: http://www.palominodb.com/blog/2011/10/12/indexing-text-columns-gist-or-gin-optimize-ilike-using-pgtrgm-postgres-91-part-1 http://wiki.postgresql.org/images/4/46/Knn.pdf
  • 17. Soporte SE-LINUX • Integración con SE-LINUX. • Tienen prioridad los permisos otorgados desde el SO en vez de los de la Base de Datos. • Este módulo debe ser activado explícitamente. • Se basa en la creación de SECURITY LABELS • NOTA: Se requiere que las librerías de SELINUX del kernel sean mayores a las 2.0.93. Estas librerías vienen por defecto en los kernels mayores a 2.0.33 http://wiki.postgresql.org/wiki/SEPostgreSQL_Documentation
  • 18. Características menores (ALTER ENUM) • ALTER TYPE tipo_enum ADD VALUE new_value [{BEFORE|AFTER} existing_value]; CREATE TYPE lista AS ENUM ('tipoa','tipob','tipoc'); ALTER TYPE lista ADD VALUE 'tipoa2' AFTER 'tipoa';
  • 20. Cambios varios • Casteos para tipos compuestos como al estilo función/atributo fueron dehabilitados. • valor_compuesto.text, text(valor_compuesto) • CREATE EXTENSION • Puesta a punto automática de wal_buffers • Mejoras en índices GiST y GIN • Evento INSTEAD OF para disparadores (útil para creación de vistas actualizables) • Soporte de compilación para Windows 64 bits • standard_conforming_strings ahora está establecido por defecto en ‘on’ • Antes ‘O’Connor’ , ahora ‘O’’Connor’ o E’O’Connor’ • Cambios en PL/SQL (RAISE sin parámetros) • Performance mejorada para tablas heredadas (Merge Append node – Ordenamiento de tablas heredadas dentro del append en vez de fuera). • Algoritmo Hash para FULL OUTER JOIN. • Información detallada: http://www.postgresql.org/docs/9.1/static/release-9-1.html
  • 21. Cambios varios (II) • Permisos de replicación (no hace falta que el usuario sea SUPERUSER) • Mejoras en la seguridad de conexión entre servidores replicados para evitar ataques internos. • Dependencias funcionales de una PK reconocidas por el GROUP BY. • Antes: ERROR: column "tabla.col_pk" must appear in the GROUP BY clause or be used in an aggregate function. •
  • 22. Novedades varias • PLV8 ( JavaScript V8 procedural language) • Postgres-XC http://postgres-xc.sourceforge.net/ • PgPool II 3.1 • Nuevas versiones de londiste, plproxy, bucardo e/otros.
  • 23. PostgreSQL 9.2 Características integradas / a integrar: * Index only scans * Slave replication cascade * Fix para las unlogged tables en concurrencia masiva *… http://wiki.postgresql.org/wiki/PostgreSQL_9.2_Development_Plan
  • 24. Gracias por asistir!! Presentación hecha en Libre/Open Office