SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Postgres
(for non-Postgres people)
         Greg Sabino Mullane 
        End Point Corpora=on 
         greg@endpoint.com
SELECT SUM(info) FROM talk; 
•    Postgres philosophy and history 
•    Conversion advice 
•    Postgres gotchas 
•    Postgres limitaCons and features 
•    OrganizaCon and community 
•    Development and infrastructure 
The Part of Whys 
•    Why MySQL? 
•    Why Postgres? 
•    Why me? 
•    Why you? 
•  Postgres? PostgreSQL? Postgre? PostgresSQL? 
•  Philosphy 
•  Mercifully quick history lesson 
MigraCng Your App 
•    Schema 
•    Data 
•    ApplicaCon 
•    Support 
MigraCon : Schema 
•    Mysqldump?
•    --compatible=postgresql --no-data
•    Redesign
•    Conversion tools
MigraCon : SQL Spec 
•    Who cares? 
•    Postgres vs. the spec 
•    MySQL vs. the spec 
•    Oracle vs. the spec 
•    DB2 vs. the spec 
•    MSSQL vs. the spec 
MigraCon : Schema 
•  Tables 
•  Engines and plugins 
•  CustomizaCon 
MigraCon : Schema : Data Types : Numbers 
 •  INTEGER (smallint, bigint, serial) 
 •  NUMERIC (double precision, money) 
 •  REAL 
MigraCon : Schema : Data Types : Text 
 •  TEXT 
 •  VARCHAR(n) 
 •  CHAR(n) 
MigraCon : Schema : Data Types : Dates 
 •    DATE 
 •    TIMESTAMPTZ 
 •    TIME 
 •    INTERVAL 
MigraCon : Schema : Data Types : Boolean 
•  BOOL 
•  TRUE, ‘t’, ‘y’, ‘yes’, ‘on’, 1 
•  FALSE, ‘f’, ‘n’, ‘no’, ‘off’, 0 
MigraCon : Schema : Data Types : Binary 
•  BYTEA 
•  Internal or external? 
MigraCon : Schema : Data Types : Others 
•    Geometric (line, path, box, circle, polygon) 
•    Arrays 
•    ENUM 
•    CIDR, INET, MACADDR 
•    UUID 
•    XML 
MigraCon : Schema : Sequence 
•    Auto‐increment 
•    SEQUENCE 
•    SERIAL 
•    INTEGER NOT NULL DEFAULT nextval(‘foo’) 
MigraCon : Schema : DEFAULT 
•  cdate TIMESTAMPTZ NOT NULL DEFAULT now() 
•  (almost) anything at all 
•  No magic 
MigraCon : Schema : FOREIGN KEYS 
•    Fully supported 
•    ON DELETE CASCADE 
•    ON DELETE RESTRICT 
•    ON DELETE SET NULL 
•    ON DELETE SET DEFAULT 
•    DEFERRED INITIALLY DEFERRED 
MigraCon : Schema : Indexes 
•  CREATE INDEX foo ON mytab(mycol); 
•  CREATE INDEX foo2 ON mytab(mycol) WHERE size 
   = ‘grande’; 
•  CREATE INDEX foo3 ON mytab(LOWER(blurb)); 
•  CREATE INDEX foo4 ON mytab(LOWER(blurb)) 
   WHERE size = ‘grande’; 
MigraCon : Schema : Indexes 
•  CREATE INDEX CONCURENTLY foo ON 
   mytab(mycol); 
•  No rebuilding of tables 
•  Reverse scan, bitmap 
MigraCon : Schema : Triggers 
•  CREATE TRIGGER mytrig BEFORE INSERT OR 
   DELETE OR UPDATE ON mytab FOR EACH ROW 
   EXECUTE PROCEDURE somefunc(); 
•   Aside: funcCons and languages 
MigraCon : Schema : FuncCons 
•  Very custom 
•  Pl/PGSQL == Pl/SQL 
•  Very powerful 
MigraCon : Data 
•    No autocommit, fsync off, no autovacuum 
•    COPY vs. INSERT 
•    Turn off indexes and triggers (FK) 
•    ANALYZE 
ANALYZE 
•    Cost‐based planner 
•    Autovacuum 
•    IniCal load 
•    Default_staCsCcs_target 
     –  10 
     –  100 
     –  1000 
     –  More? 
VACUUM 
•    MVCC – Oracle vs. Pg 
•    Rollback segment 
•    Concurrency and locking 
•    Table bloat 
•    VACUUM FULL, CLUSTER, REINDEX 
MigraCon : ApplicaCon 
•  aka SQL 
•  Clients (PHP excepCon) 
•  SQL modes 
  –  TradiConal 
  –  Postgresql 
•  “Any client can change its own session 
   sql_mode value at any Cme.” 
MigraCon : SQL : NULL 
•  NULL is NULL 
MigraCon : SQL : SELECT 
•  Query planner 
•  JOINS 
•  Subselects 
MigraCon : SQL : GROUP BY 
•  SELECT a,b,c FROM mytab GROUP BY a,b 
•  Standard or not? 
           DISTINCT ON
MigraCon : SQL : Text match 
•  CHAR / VARCHAR / TEXT case sensiCve 
•  SELECT count(*) FROM mytab WHERE mycol = 
   ‘Fred’; 

•  …WHERE LOWER(mycol) = ‘fred’; 
MigraCon : SQL : full text search 
•  Tsearch2: contrib vs. core 
•  Powerful, complex 
•  TransacConal! 
MigraCon : SQL : DELETE 
•  One table only 
•  No LIMIT, no ORDER BY 
•  No QUICK, LOW PRIORITY, IGNORE 
•  DELETE FROM ONLY mytab WHERE… 
•  DELETE FROM mytab USING otab WHERE 
   mycol = otab.id AND otab.size = 'foo'; 
•  DELETE FROM mytab WHERE mycol IN (SELECT 
   id FROM otab WHERE size = ‘foo’); 
MigraCon : SQL : UPDATE 
•  Only one table 
•  No ORDER BY, LIMIT, etc. 
•  UPDATE mytab SET mycol=123 FROM otab 
   WHERE mycol = otab.id AND otab.size = ‘foo’; 
MigraCon : SQL : INSERT 
•    Only one table 
•    No REPLACE or ON DUPLICATE KEY UPDATE 
•    UPSERT via plpgsql or app logic 
•    DEFAULT 
•    INSERT INTO mytab DEFAULT VALUES 
MigraCon : SQL : || 
•    Ugh 
•    CONCAT 
•    Wrapper funcCons 
•    NULL an empty string 
MigraCon : SQL: GRANT 
•  ..and REVOKE 
•  Almost any object 
•  Immediate effect 
MigraCon : SQL : locking 
•    Use sparingly 
•    Share, exclusive 
•    Advisory 
•    ALTER TABLE, REINDEX, VACUUM FULL 
MigraCon : SQL : Aliases 
•  AS opConal but recommended 
•  SELECT SUM(mycol) AS mysum 
•  SELECT * FROM pg_class c, mytab t… 
MigraCon : SQL : Advanced 
•  WITH 
•  Windowing 
•  Recursive funcCons 
MigraCon : Support 
•  RouCne stuff: autovacuum 
•  Monitoring (check_postgres) 
•  Backups (MVCC based) 
Postgres : Quirks : lowercase 
•    Implicit case folding 
•    CREATE TABLE abc (A int); 
•    CREATE TABLE ABC (a int); 
•    CREATE TABLE “abc” (“a” int); 
•    CREATE TABLE “ABC” (“A” int); 
•    SELECT * FROM “ABC” WHERE “A”=123; 
Postgres : Quirks : CasCng 
•    8.3 removed some implicit casts 
•    SELECT 1 = ‘1’::text; 
•    ERROR: operator does not exist: integer=text 
•    1. Fix the app 
•    2. Add the casts back in 
Postgres : Quirks : COUNT(*) 
•    MyISAM vs INNODB 
•    Use an index 
•    Triggers 
•    SELECT reltuples FROM pg_class WHERE 
     relname = ‘foo’; 
Postgres : Quirks : Schemas 
•    Database versus schemas versus cluster 
•    Changes are cheap 
•    No name‐based schemas 
•    The ‘public’ schema 
•    contrib/dblink 
Postgres : Quirks : vacuum 
•  Newer the berer 
•  autovacuum
Postgres : Quirks : i18n 
•  SQL_ASCII vs UTF‐8 
•  Per database only 
Postgres : Quirks : Hints 
•    No hints per se 
•    Smart planner 
•    SET enable_* EXPLAIN 
•    Few other knobs – per cluster 
Postgres : Quirks : Rules 
•  Last resort. ‘nuff
Postgres : Drawbacks 
•    ReplicaCon       pg_upgrade
                            pg_upgrade



•    In‐place upgrade (pg_migrator, Bucardo) 
•    Tuned for a toaster 
•    Name 
•    Publicity and markeCng 
Postgres : Strengths 
•    Custom everything 
•    TransacConal DDL 
•    PostGIS 
•    Query planner 
•    Support 
•    AuthenCcaCon: pg_hba.conf 
     –  PAM, ident, Kerberos, LDAP, … 
Postgres : OrganizaCon 
•    Who? 
•    Transparent meritocracy 
•    “core” 
•    Commirers 
•    Mailing list, IRC, wiki 
•    Company roles 
•    Spread the risk 
•    Cannot be bought (assets or people) 
Postgres : Community 
•    Core vs. “core” 
•    Pgfoundry, github, bucardo.org, … 
•    PostGIS 
•    Mailing list? Bug report? User? 
•    InteracCon! 
•    Wiki, advocacy, sysadmin, docs, packagers 
•    Clients, tools, replicaCon systems 
•    Volunteers (IRC) 
Postgres : Infrastructure 
•    See Dave’s talk later today 
•    Servers, companies 
•    Build farm 
•    Wiki 
•    Commisest 
Postgres : Development 
•    Show me the money! 
•    Individual developers vs. companies 
•    CVS vs. git  git wins! :)
                  git wins!
•    Commirers vs. patchers vs. reviewers 
Postgres : Version 
•    Roughly every year 
•    8.3  8.3.10 
•    Major version, minor version, revision 
•    Naming a version 
Postgres : Patches 
•  Bug report, mailing list post, TODO list 
•  Run up the flagpole (Tom Lane test) 
     –  Stable? 
     –  Useful? 
     –  Spec compliant? 
     –  Side effects? 
     –  Best approach to problem? 
•    Diff format, formaung, docs 
•    Added to patch queue, commisest 
•    Patch reviewer 
•    Commit (20 vs 300) 
Postgres : Patches 
•    About that flagpole… 
•    High standards 
•    Cming 
•    dfS 
Postgres : Licensing 
•    BSD (or MIT)  PostgreSQL license
•    Free as in speech 
•    Free as in beer 
•    Plays well with others (PostGIS) 
SELECT questions FROM audience;

Contenu connexe

Tendances

Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaAvinash Ramineni
 
ELK at LinkedIn - Kafka, scaling, lessons learned
ELK at LinkedIn - Kafka, scaling, lessons learnedELK at LinkedIn - Kafka, scaling, lessons learned
ELK at LinkedIn - Kafka, scaling, lessons learnedTin Le
 
Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...
Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...
Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...Lucidworks
 
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたグラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたYoshiyasu SAEKI
 
Custom management apps for Kafka
Custom management apps for KafkaCustom management apps for Kafka
Custom management apps for KafkaSotaro Kimura
 
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Yoshiyasu SAEKI
 
データの民主化のために StackStorm を活用した事例
データの民主化のために StackStorm を活用した事例データの民主化のために StackStorm を活用した事例
データの民主化のために StackStorm を活用した事例Yoshiyasu SAEKI
 
Running Spark on Cloud
Running Spark on CloudRunning Spark on Cloud
Running Spark on CloudQubole
 
ELK Wrestling (Leeds DevOps)
ELK Wrestling (Leeds DevOps)ELK Wrestling (Leeds DevOps)
ELK Wrestling (Leeds DevOps)Steve Elliott
 
Ease of use in Apache Solr
Ease of use in Apache SolrEase of use in Apache Solr
Ease of use in Apache SolrAnshum Gupta
 
How SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded EnvironmentHow SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded Environmentlucenerevolution
 
First oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyFirst oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyCominvent AS
 
Logs aggregation and analysis
Logs aggregation and analysisLogs aggregation and analysis
Logs aggregation and analysisDivante
 
Project Orleans - Actor Model framework
Project Orleans - Actor Model frameworkProject Orleans - Actor Model framework
Project Orleans - Actor Model frameworkNeil Mackenzie
 
(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in RubyAmazon Web Services
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - CopenhagenClaus Ibsen
 

Tendances (20)

Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and Kibana
 
Introducing ELK
Introducing ELKIntroducing ELK
Introducing ELK
 
ELK at LinkedIn - Kafka, scaling, lessons learned
ELK at LinkedIn - Kafka, scaling, lessons learnedELK at LinkedIn - Kafka, scaling, lessons learned
ELK at LinkedIn - Kafka, scaling, lessons learned
 
Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...
Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...
Tuning Solr and its Pipeline for Logs: Presented by Rafał Kuć & Radu Gheorghe...
 
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたグラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
 
Custom management apps for Kafka
Custom management apps for KafkaCustom management apps for Kafka
Custom management apps for Kafka
 
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定
 
データの民主化のために StackStorm を活用した事例
データの民主化のために StackStorm を活用した事例データの民主化のために StackStorm を活用した事例
データの民主化のために StackStorm を活用した事例
 
Running Spark on Cloud
Running Spark on CloudRunning Spark on Cloud
Running Spark on Cloud
 
Intro to Apache Solr
Intro to Apache SolrIntro to Apache Solr
Intro to Apache Solr
 
ELK Wrestling (Leeds DevOps)
ELK Wrestling (Leeds DevOps)ELK Wrestling (Leeds DevOps)
ELK Wrestling (Leeds DevOps)
 
Ease of use in Apache Solr
Ease of use in Apache SolrEase of use in Apache Solr
Ease of use in Apache Solr
 
How SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded EnvironmentHow SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded Environment
 
First oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyFirst oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoy
 
EVOLVE'13 | Enhance | Eventing to job Processing | Carsten Zeigler
EVOLVE'13 | Enhance | Eventing to job Processing | Carsten ZeiglerEVOLVE'13 | Enhance | Eventing to job Processing | Carsten Zeigler
EVOLVE'13 | Enhance | Eventing to job Processing | Carsten Zeigler
 
Logs aggregation and analysis
Logs aggregation and analysisLogs aggregation and analysis
Logs aggregation and analysis
 
Scala Matsuri 2017
Scala Matsuri 2017Scala Matsuri 2017
Scala Matsuri 2017
 
Project Orleans - Actor Model framework
Project Orleans - Actor Model frameworkProject Orleans - Actor Model framework
Project Orleans - Actor Model framework
 
(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
 

En vedette

24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQLInMobi Technology
 
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce MomjianRapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce MomjianFuenteovejuna
 
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...Fuenteovejuna
 
Rapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_UpgradeRapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_UpgradeEDB
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDSDenish Patel
 
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...Grant McAlister
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresRobert Treat
 
collectd & PostgreSQL
collectd & PostgreSQLcollectd & PostgreSQL
collectd & PostgreSQLMark Wong
 
Monitoring pg with_graphite_grafana
Monitoring pg with_graphite_grafanaMonitoring pg with_graphite_grafana
Monitoring pg with_graphite_grafanaJan Wieck
 
Zero Downtime Postgres Upgrades
Zero Downtime Postgres UpgradesZero Downtime Postgres Upgrades
Zero Downtime Postgres UpgradesOutlyer
 

En vedette (10)

24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL
 
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce MomjianRapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
 
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
 
Rapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_UpgradeRapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_Upgrade
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDS
 
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" Postgres
 
collectd & PostgreSQL
collectd & PostgreSQLcollectd & PostgreSQL
collectd & PostgreSQL
 
Monitoring pg with_graphite_grafana
Monitoring pg with_graphite_grafanaMonitoring pg with_graphite_grafana
Monitoring pg with_graphite_grafana
 
Zero Downtime Postgres Upgrades
Zero Downtime Postgres UpgradesZero Downtime Postgres Upgrades
Zero Downtime Postgres Upgrades
 

Similaire à Postgres Migration Guide: Converting from MySQL to PostgreSQL Database

My Query is slow, now what?
My Query is slow, now what?My Query is slow, now what?
My Query is slow, now what?Gianluca Sartori
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceESUG
 
OrigoDB - take the red pill
OrigoDB - take the red pillOrigoDB - take the red pill
OrigoDB - take the red pillRobert Friberg
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014Colin Charles
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaRedis Labs
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nlbartzon
 
MariaDB for Developers and Operators (DevOps)
MariaDB for Developers and Operators (DevOps)MariaDB for Developers and Operators (DevOps)
MariaDB for Developers and Operators (DevOps)Colin Charles
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?Colin Charles
 
Cassandra and Spark
Cassandra and SparkCassandra and Spark
Cassandra and Sparknickmbailey
 
How to Make Norikra Perfect
How to Make Norikra PerfectHow to Make Norikra Perfect
How to Make Norikra PerfectSATOSHI TAGOMORI
 
FP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleFP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleChristophe Grand
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nltieleman
 
Big Data Day LA 2015 - Spark after Dark by Chris Fregly of Databricks
Big Data Day LA 2015 - Spark after Dark by Chris Fregly of DatabricksBig Data Day LA 2015 - Spark after Dark by Chris Fregly of Databricks
Big Data Day LA 2015 - Spark after Dark by Chris Fregly of DatabricksData Con LA
 
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...In-Memory Computing Summit
 
Migrating To PostgreSQL
Migrating To PostgreSQLMigrating To PostgreSQL
Migrating To PostgreSQLGrant Fritchey
 
Using Spring with NoSQL databases (SpringOne China 2012)
Using Spring with NoSQL databases (SpringOne China 2012)Using Spring with NoSQL databases (SpringOne China 2012)
Using Spring with NoSQL databases (SpringOne China 2012)Chris Richardson
 
MariaDB for developers
MariaDB for developersMariaDB for developers
MariaDB for developersColin Charles
 

Similaire à Postgres Migration Guide: Converting from MySQL to PostgreSQL Database (20)

My Query is slow, now what?
My Query is slow, now what?My Query is slow, now what?
My Query is slow, now what?
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
OrigoDB - take the red pill
OrigoDB - take the red pillOrigoDB - take the red pill
OrigoDB - take the red pill
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
MariaDB for Developers and Operators (DevOps)
MariaDB for Developers and Operators (DevOps)MariaDB for Developers and Operators (DevOps)
MariaDB for Developers and Operators (DevOps)
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
 
Cassandra and Spark
Cassandra and SparkCassandra and Spark
Cassandra and Spark
 
How to Make Norikra Perfect
How to Make Norikra PerfectHow to Make Norikra Perfect
How to Make Norikra Perfect
 
FP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleFP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit Hole
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Big Data Day LA 2015 - Spark after Dark by Chris Fregly of Databricks
Big Data Day LA 2015 - Spark after Dark by Chris Fregly of DatabricksBig Data Day LA 2015 - Spark after Dark by Chris Fregly of Databricks
Big Data Day LA 2015 - Spark after Dark by Chris Fregly of Databricks
 
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
IMCSummit 2015 - Day 1 Developer Track - Spark After Dark: Generating High Qu...
 
Migrating To PostgreSQL
Migrating To PostgreSQLMigrating To PostgreSQL
Migrating To PostgreSQL
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Angular2 for Beginners
Angular2 for BeginnersAngular2 for Beginners
Angular2 for Beginners
 
Using Spring with NoSQL databases (SpringOne China 2012)
Using Spring with NoSQL databases (SpringOne China 2012)Using Spring with NoSQL databases (SpringOne China 2012)
Using Spring with NoSQL databases (SpringOne China 2012)
 
MariaDB for developers
MariaDB for developersMariaDB for developers
MariaDB for developers
 

Plus de Command Prompt., Inc

Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableCommand Prompt., Inc
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL AdministrationCommand Prompt., Inc
 
Replication using PostgreSQL Replicator
Replication using PostgreSQL ReplicatorReplication using PostgreSQL Replicator
Replication using PostgreSQL ReplicatorCommand Prompt., Inc
 
Python utilities for data presentation
Python utilities for data presentationPython utilities for data presentation
Python utilities for data presentationCommand Prompt., Inc
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...Command Prompt., Inc
 
pg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLpg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLCommand Prompt., Inc
 
Not Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index ConstraintsNot Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index ConstraintsCommand Prompt., Inc
 
Implementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenImplementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenCommand Prompt., Inc
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksCommand Prompt., Inc
 
configuring a warm standby, the easy way
configuring a warm standby, the easy wayconfiguring a warm standby, the easy way
configuring a warm standby, the easy wayCommand Prompt., Inc
 
Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2Command Prompt., Inc
 
Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1Command Prompt., Inc
 

Plus de Command Prompt., Inc (20)

Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
 
Backup and-recovery2
Backup and-recovery2Backup and-recovery2
Backup and-recovery2
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
 
Temporal Data
Temporal DataTemporal Data
Temporal Data
 
Replication using PostgreSQL Replicator
Replication using PostgreSQL ReplicatorReplication using PostgreSQL Replicator
Replication using PostgreSQL Replicator
 
Go replicator
Go replicatorGo replicator
Go replicator
 
Pg migrator
Pg migratorPg migrator
Pg migrator
 
Python utilities for data presentation
Python utilities for data presentationPython utilities for data presentation
Python utilities for data presentation
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
 
pg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLpg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQL
 
Not Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index ConstraintsNot Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index Constraints
 
Implementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenImplementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with Tungsten
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 
configuring a warm standby, the easy way
configuring a warm standby, the easy wayconfiguring a warm standby, the easy way
configuring a warm standby, the easy way
 
Bucardo
BucardoBucardo
Bucardo
 
Basic Query Tuning Primer
Basic Query Tuning PrimerBasic Query Tuning Primer
Basic Query Tuning Primer
 
A Practical Multi-Tenant Cluster
A Practical Multi-Tenant ClusterA Practical Multi-Tenant Cluster
A Practical Multi-Tenant Cluster
 
5 Steps to PostgreSQL Performance
5 Steps to PostgreSQL Performance5 Steps to PostgreSQL Performance
5 Steps to PostgreSQL Performance
 
Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2
 
Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1
 

Postgres Migration Guide: Converting from MySQL to PostgreSQL Database