https://wiki.postgresql.org/api.php?action=feedcontributions&user=Dim&feedformat=atomPostgreSQL wiki - User contributions [en]2024-03-28T19:54:47ZUser contributionsMediaWiki 1.35.13https://wiki.postgresql.org/index.php?title=Speaker_Bureau&diff=36064Speaker Bureau2021-05-27T17:12:45Z<p>Dim: adding myself (dim)</p>
<hr />
<div>In order to help with the challenge of finding speakers for meetups please add your name to this page if you are willing to speak at a meetup. Currently (2021) the meetups will be virtual. '''At a minimum add your name, topic(s) and timezone'''. Feel free to add anything else you feel is relevant.<br />
<br />
For user group organizers who'd like to contact a speaker, please email the PgUS User Group Committee (ugcomm at PostgreSQL dot us), and we'll forward the request to the speaker. <br />
<br />
{| class="wikitable"<br />
|+ Speaker Bureau<br />
|-<br />
! style="width: 10em;" | Name !! Time zone !! style="width: 60em;" | Topics !! Mentor new speakers? !! Anything else you'd like us to know<br />
|-<br />
| Dave Cramer || EST || Java and Postgresql, Logical Decoding || Yes || <br />
|-<br />
| Joe Conway || EST || Security (variety of subtopics), Analytics (using PL/R, PostGIS, Python), Functions, Text Search and Pattern Matching, Shell Scripting with Postgres, Postgres Intro, Community and Development || Yes || <br />
|-<br />
| Jonathan Katz || EST || SCRAM, PostgreSQL + Kubernetes, PostgreSQL 13, Range Types + Applications, Building an App with a bunch of Postgres features (Logical decoding, CTEs, functions, range types, etc.), Data Types || || <br />
|-<br />
| Stephen Frost || || Security, PostgreSQL, other stuff || || <br />
|-<br />
| Keith Fiske || || Partitioning, Extensions, Administration, PG History & Features, Monitoring || || <br />
|-<br />
| David Christensen || || Replication, Bucardo, CTEs. || || <br />
|-<br />
| David Fetter || || PostgreSQL as a control plane, Fun with Foreign Data Wrappers, Hacking for Beginners || || <br />
|-<br />
| Jennifer Scheuerell || PST || Migrations, PostgreSQL and Django || Yes || <br />
|-<br />
| Harry Arroyo || || PostgreSQL with Laravel, Django, Java, IT Security Expert, TI Mentor, Sysadmin, FullStack Developer, Hacker, App Developer (Android and iOS), DBA and other Stuff || || <br />
|-<br />
| Jimmy Angelakos || GMT || PostgreSQL, performance, Full-Text Search, ETL with Python, Django || || <br />
|-<br />
| Tomas Vondra || CET || PostgreSQL, performance, various extensions, hacking, community stuff || || <br />
|-<br />
| Martín Marqués || Argentina || PostgreSQL, replication, backups, autovacuum || || <br />
|-<br />
| Andrew Dunstan || EST || PostgreSQL, vacuuming and freezing, Data Types, Foreign Data Wrappers, SSL, Pgbouncer || || <br />
|-<br />
| Nikhil Sontakke || India || PostgreSQL Architecture, Logical Decoding, BDR, PGLogical || || <br />
|-<br />
| Hari Kiran || India || PostgreSQL, Replication, Partitioning, Oracle Migration, Monitoring, DBA || || <br />
|-<br />
| Gianni Ciolli || GMT || Several topics, including: Physical/Logical Replication, Backup&restore, Query optimization, Database administration || || <br />
|-<br />
| Tom Kincaid || EST || High Availability, Deploying at Scale, MVCC, Partitioning, Performance Tuning || || <br />
|-<br />
| Muhammad Haroon || Pakistan || PostgreSQL, High Availability, Logical Replication, Vacuum/AutoVacuum, Database Administration, Extensions, Disaster Recovery || || <br />
|-<br />
| Álvaro Herrera || Chile || Postgres tuning, MVCC/vacuuming, Partitioning, Postgres hacking, community || || <br />
|-<br />
| Christophe Pettus || PST || Configuration and Tuning, Query Optimization, DBA Tasks and Mentoring, Disaster Recovery and Reliability Planning || || <br />
|-<br />
| Dave Page || GMT || pgAdmin, PostgreSQL project organisation/infrastructure || || <br />
|-<br />
| Boriss Mejías || CET || JSON, ENUM, replicationt || || <br />
|-<br />
| Pavan Deolasee || India || PostgreSQL Internals, Transaction Management, Performance, BDR || || <br />
|-<br />
| Euler Taveira || Sao Paulo || Logical Replication, Extensions, Tuning, Community || || <br />
|-<br />
| William Ivanski || || PostgreSQL, High Availability, BDR, Database Administration, Oracle Migration, Python || || <br />
|-<br />
| Dimitri Fontaine || CE(S)T || PostgreSQL, High Availability, pg_auto_failover, pgloader, PostgreSQL for Developers, PostgreSQL Architectures in Production, Data Modeling || Yes || <br />
|}</div>Dimhttps://wiki.postgresql.org/index.php?title=Index_Maintenance&diff=32972Index Maintenance2019-01-14T17:39:24Z<p>Dim: /* Based on check_postgres */</p>
<hr />
<div>{{Languages}}<br />
<br />
One day, you will probably need to cope with [http://www.postgresql.org/docs/current/static/routine-reindex.html routine reindexing] on your database, particularly if you don't use VACUUM aggressively enough. A particularly handy command in this area is [http://www.postgresql.org/docs/8.3/static/sql-cluster.html CLUSTER], which can help with other types of cleanup.<br />
<br />
Avoid using [[VACUUM FULL]] in versions 8.4 and earlier.<br />
<br />
== Index summary ==<br />
<br />
Here's a sample query to pull the number of rows, indexes, and some info about those indexes for each table. (Only works on 8.3; ditch the pg_size_pretty if you’re on an earlier version)<br />
<br />
{{SnippetInfo|Index summary|lang=SQL|version=>=8.1|category=Performance}}<br />
<source lang="sql"><br />
SELECT<br />
pg_class.relname,<br />
pg_size_pretty(pg_class.reltuples::bigint) AS rows_in_bytes,<br />
pg_class.reltuples AS num_rows,<br />
count(indexname) AS number_of_indexes,<br />
CASE WHEN x.is_unique = 1 THEN 'Y'<br />
ELSE 'N'<br />
END AS UNIQUE,<br />
SUM(case WHEN number_of_columns = 1 THEN 1<br />
ELSE 0<br />
END) AS single_column,<br />
SUM(case WHEN number_of_columns IS NULL THEN 0<br />
WHEN number_of_columns = 1 THEN 0<br />
ELSE 1<br />
END) AS multi_column<br />
FROM pg_namespace <br />
LEFT OUTER JOIN pg_class ON pg_namespace.oid = pg_class.relnamespace<br />
LEFT OUTER JOIN<br />
(SELECT indrelid,<br />
max(CAST(indisunique AS integer)) AS is_unique<br />
FROM pg_index<br />
GROUP BY indrelid) x<br />
ON pg_class.oid = x.indrelid<br />
LEFT OUTER JOIN<br />
( SELECT c.relname AS ctablename, ipg.relname AS indexname, x.indnatts AS number_of_columns FROM pg_index x<br />
JOIN pg_class c ON c.oid = x.indrelid<br />
JOIN pg_class ipg ON ipg.oid = x.indexrelid )<br />
AS foo<br />
ON pg_class.relname = foo.ctablename<br />
WHERE <br />
pg_namespace.nspname='public'<br />
AND pg_class.relkind = 'r'<br />
GROUP BY pg_class.relname, pg_class.reltuples, x.is_unique<br />
ORDER BY 2;<br />
</source><br />
<br />
== Index size/usage statistics ==<br />
<br />
Table & index sizes along which indexes are being scanned and how many tuples are fetched. See [[Disk Usage]] for another view that includes both table and index sizes.<br />
<br />
{{SnippetInfo|Index statistics|lang=SQL|version=>=8.1|category=Performance}}<br />
<source lang="sql"><br />
SELECT<br />
t.tablename,<br />
indexname,<br />
c.reltuples AS num_rows,<br />
pg_size_pretty(pg_relation_size(quote_ident(t.tablename)::text)) AS table_size,<br />
pg_size_pretty(pg_relation_size(quote_ident(indexrelname)::text)) AS index_size,<br />
CASE WHEN indisunique THEN 'Y'<br />
ELSE 'N'<br />
END AS unique,<br />
idx_scan AS number_of_scans,<br />
idx_tup_read AS tuples_read,<br />
idx_tup_fetch AS tuples_fetched<br />
FROM pg_tables t<br />
LEFT OUTER JOIN pg_class c ON t.tablename=c.relname<br />
LEFT OUTER JOIN<br />
( SELECT c.relname as ctablename, ipg.relname as indexname, x.indnatts as number_of_columns, idx_scan, idx_tup_read, idx_tup_fetch, indexrelname, indisunique FROM pg_index x<br />
JOIN pg_class c ON c.oid = x.indrelid<br />
JOIN pg_class ipg ON ipg.oid = x.indexrelid<br />
JOIN pg_stat_all_indexes psai ON x.indexrelid = psai.indexrelid AND psai.schemaname = 'public' )<br />
as foo<br />
ON t.tablename = foo.ctablename<br />
WHERE t.schemaname='public'<br />
order by 1,2;<br />
</source><br />
<br />
== Duplicate indexes ==<br />
Finds multiple indexes that have the same set of columns, same opclass, expression and predicate -- which make them equivalent. '''Usually''' it's safe to drop one of them, but I give no guarantees. :)<br />
<br />
<source lang="sql"><br />
SELECT pg_size_pretty(sum(pg_relation_size(idx))::bigint) as size,<br />
(array_agg(idx))[1] as idx1, (array_agg(idx))[2] as idx2,<br />
(array_agg(idx))[3] as idx3, (array_agg(idx))[4] as idx4<br />
FROM (<br />
SELECT indexrelid::regclass as idx, (indrelid::text ||E'\n'|| indclass::text ||E'\n'|| indkey::text ||E'\n'||<br />
coalesce(indexprs::text,'')||E'\n' || coalesce(indpred::text,'')) as key<br />
FROM pg_index) sub<br />
GROUP BY key HAVING count(*)>1<br />
ORDER BY sum(pg_relation_size(idx)) DESC;<br />
</source><br />
<br />
== Index Bloat ==<br />
<br />
=== Based on check_postgres ===<br />
<br />
One of the common needs for a REINDEX is when indexes become bloated due to either sparse deletions or use of VACUUM FULL (with pre 9.0 versions). An estimator for the amount of bloat in a table has been included in the [http://bucardo.org/wiki/Check_postgres check_postgres] script, which you can call directly or incorporate into a larger monitoring system. Scripts based on this code and/or its concepts from other sources include:<br />
* [https://web.archive.org/web/20080603000756/http://pgsql.tapoueh.org/site/html/news/20080131.bloat.html bloat view] (Dimitri Fontaine) - extracted from check_postgres<br />
* [http://www.pgcon.org/2009/schedule/events/153.en.html Visualizing Postgres] - index_byte_sizes view (Michael Glaesemann, myYearbook)<br />
* [http://labs.omniti.com/trac/pgtreats/browser/trunk/tools OmniTI Tasty Treats for PostgreSQL] - shell and Perl pg_bloat_report scripts<br />
<br />
=== New query ===<br />
<br />
A new query has been created to have a better bloat estimate for Btree indexes. Unlike the query from check_postgres, this one focus only on BTree index its disk layout.<br />
<br />
See [http://blog.ioguix.net/tag/bloat/ articles] about it. <br />
<br />
The monitoring script [https://github.com/OPMDG/check_pgactivity check_pgactivity] is including a check based on this work.<br />
<br />
=== Summarize keyspace of a B-Tree index ===<br />
<br />
{{SnippetInfo|Show database bloat|version=>=9.3|lang=SQL|depends=contrib/pageinspect|category=Performance}}<br />
<br />
The following query uses contrib/pageinspect to summarize the keyspace of a B-Tree quickly. This can be useful to experts that wish to determine exactly how an index may have become unbalanced over time. It visualizes the keyspace of the index.<br />
<br />
The query outputs the highkey for every page, starting from the root and working down, in logical/keyspace order.<br />
<br />
If the query takes too long to execute, consider uncommenting "/* and level > 0 */" to make it only include internal pages.<br />
<br />
See also: [https://pgeoghegan.blogspot.com/2017/07/postgresql-index-bloat-microscope.html "PostgreSQL index bloat under a microscope" blogpost]<br />
<br />
<b>Note:</b> You are expected to change "pgbench_accounts_pkey" to the name of the index that is to be summarized.<br />
<br />
<source lang="sql"><br />
WITH RECURSIVE index_details AS (<br />
SELECT<br />
'pgbench_accounts_pkey'::text idx<br />
),<br />
size_in_pages_index AS (<br />
SELECT<br />
(pg_relation_size(idx::regclass) / (2^13))::int4 size_pages<br />
FROM<br />
index_details<br />
),<br />
page_stats AS (<br />
SELECT<br />
index_details.*,<br />
stats.*<br />
FROM<br />
index_details,<br />
size_in_pages_index,<br />
lateral (SELECT i FROM generate_series(1, size_pages - 1) i) series,<br />
lateral (SELECT * FROM bt_page_stats(idx, i)) stats<br />
),<br />
meta_stats AS (<br />
SELECT<br />
*<br />
FROM<br />
index_details s,<br />
lateral (SELECT * FROM bt_metap(s.idx)) meta<br />
),<br />
pages_raw AS (<br />
SELECT<br />
*<br />
FROM<br />
page_stats<br />
ORDER BY<br />
btpo DESC<br />
),<br />
/* XXX: Note ordering dependency within this CTE */<br />
pages_walk(item, blk, level) AS (<br />
SELECT<br />
1,<br />
blkno,<br />
btpo<br />
FROM<br />
pages_raw<br />
WHERE<br />
btpo_prev = 0<br />
AND btpo = (SELECT level FROM meta_stats)<br />
UNION<br />
SELECT<br />
CASE WHEN level = btpo THEN w.item + 1 ELSE 1 END,<br />
blkno,<br />
btpo<br />
FROM<br />
pages_raw i,<br />
pages_walk w<br />
WHERE<br />
i.btpo_prev = w.blk OR (btpo_prev = 0 AND btpo = w.level - 1)<br />
)<br />
SELECT<br />
/* Uncomment if these details interesting */<br />
/*<br />
idx,<br />
btpo_prev,<br />
btpo_next,<br />
*/<br />
<br />
/*<br />
* "level" is level of tree -- 0 is leaf. First tuple returned is root.<br />
*/<br />
btpo AS level,<br />
<br />
/*<br />
* Ordinal number of item on this level<br />
*/<br />
item AS l_item,<br />
<br />
/*<br />
* Block number, and details of page<br />
*/<br />
blkno,<br />
btpo_flags,<br />
TYPE,<br />
live_items,<br />
dead_items,<br />
avg_item_size,<br />
page_size,<br />
free_size,<br />
<br />
/*<br />
* distinct_real_item_keys is how many distinct "data" fields on page<br />
* (excludes highkey).<br />
*<br />
* If this is less than distinct_block_pointers on an internal page, that<br />
* means that there are so many duplicates in its children that there are<br />
* duplicate high keys in children, so the index is probably pretty bloated.<br />
*<br />
* Even unique indexes can have duplicates. It's sometimes interesting to<br />
* watch out for how many distinct real items there are within leaf pages,<br />
* compared to the number of live items, or total number of items. Ideally,<br />
* these will all be exactly the same for unique indexes.<br />
*/<br />
distinct_real_item_keys,<br />
<br />
/*<br />
* Per pageinspect docs, first item on non-rightmost page on level is "high<br />
* key" item, which represents an upper bound on items on the page.<br />
* (Rightmost pages are sometimes considered to have a conceptual "positive<br />
* infinity" item, and are shown to have a high key that's NULL by this query)<br />
*<br />
* This can be used to visualize how finely or coarsely separated the<br />
* keyspace is.<br />
*<br />
* Note that below int4_from_page_data() function could produce more useful<br />
* visualization of split points.<br />
*/<br />
CASE WHEN btpo_next != 0 THEN first_item END AS highkey,<br />
<br />
/*<br />
* distinct_block_pointers is table blocks that are pointed to by items on<br />
* the page (not including high key, which doesn't point anywhere).<br />
*<br />
* This is interesting on leaf pages, because it indicates how fragmented the<br />
* index is with respect to table accesses, which is important for range<br />
* queries.<br />
*<br />
* This should be redundant on internal levels, because all downlinks in internal<br />
* pages point to distinct blocks in level below.<br />
*/<br />
distinct_block_pointers<br />
<br />
FROM<br />
pages_walk w,<br />
pages_raw i,<br />
lateral (<br />
SELECT<br />
count(distinct (case when btpo_next = 0 or itemoffset > 1 then (data collate "C") end)) as distinct_real_item_keys,<br />
count(distinct (case when btpo_next = 0 or itemoffset > 1 then (ctid::text::point)[0]::bigint end)) as distinct_block_pointers,<br />
(array_agg(data))[1] as first_item<br />
FROM bt_page_items(idx, blkno)<br />
) items<br />
where w.blk = i.blkno<br />
/* Uncomment to avoid showing leaf level (faster): */<br />
/* and level > 0*/<br />
ORDER BY btpo DESC, item;<br />
</source><br />
<br />
=== Interpreting bt_page_items() "data" field as a little-endian int4 attribute ===<br />
<br />
{{SnippetInfo|Show database bloat|version=>=9.2|lang=SQL|depends=contrib/pageinspect|category=Performance}}<br />
<br />
The following convenience functions can be used to display the "data" field in bt_page_items() as their native type, at least for indexes whose pg_attribute entries consist of a single int4/integer attribute. This includes SERIAL primary key indexes. It can be used to make the above "Summarize keyspace of a B-Tree index" query display the keyspace split points using native type representation.<br />
<br />
<b>Note:</b> The byteswap is only necessary on little-endian (Intel) CPUs.<br />
<br />
<source lang="sql"><br />
--<br />
-- Sources:<br />
--<br />
-- https://stackoverflow.com/questions/17208945/whats-the-easiest-way-to-represent-a-bytea-as-a-single-integer-in-postgresql<br />
-- https://stackoverflow.com/questions/11142235/convert-bigint-to-bytea-but-swap-the-byte-order<br />
--<br />
create or replace function reverse_bytes_iter(bytes bytea, length int, midpoint int, index int)<br />
returns bytea as<br />
$$<br />
select case when index >= midpoint then bytes else<br />
reverse_bytes_iter(<br />
set_byte(<br />
set_byte(bytes, index, get_byte(bytes, length-index)),<br />
length-index, get_byte(bytes, index)<br />
),<br />
length, midpoint, index + 1<br />
)<br />
end;<br />
$$ language sql immutable strict;<br />
<br />
create or replace function reverse_bytes(bytes bytea) returns bytea as<br />
$$<br />
select reverse_bytes_iter(bytes, octet_length(bytes)-1, octet_length(bytes)/2, 0)<br />
$$<br />
language sql immutable strict;<br />
<br />
create or replace function int4_from_bytea(bytea) returns int4<br />
as $$<br />
select ('x' || right($1::text, 6))::bit(24)::int;<br />
$$<br />
language sql immutable strict;<br />
<br />
create or replace function int4_from_page_data(text) returns int4<br />
as $$<br />
select int4_from_bytea(reverse_bytes(decode($1, 'hex')));<br />
$$<br />
language sql immutable strict;<br />
<br />
--<br />
-- Use:<br />
--<br />
-- postgres=# select *, int4_from_page_data(data) from bt_page_items('f', 1) limit 15;<br />
-- itemoffset │ ctid │ itemlen │ nulls │ vars │ data │ int4_from_page_data<br />
-- ────────────┼────────────┼─────────┼───────┼──────┼─────────────────────────┼─────────────────────<br />
-- 1 │ (17698,69) │ 16 │ f │ f │ 5c 00 00 00 00 00 00 00 │ 92<br />
-- 2 │ (0,1) │ 16 │ f │ f │ 01 00 00 00 00 00 00 00 │ 1<br />
-- 3 │ (8849,126) │ 16 │ f │ f │ 01 00 00 00 00 00 00 00 │ 1<br />
-- 4 │ (17699,25) │ 16 │ f │ f │ 01 00 00 00 00 00 00 00 │ 1<br />
-- 5 │ (17699,26) │ 16 │ f │ f │ 01 00 00 00 00 00 00 00 │ 1<br />
-- 6 │ (0,2) │ 16 │ f │ f │ 02 00 00 00 00 00 00 00 │ 2<br />
-- 7 │ (8849,125) │ 16 │ f │ f │ 02 00 00 00 00 00 00 00 │ 2<br />
-- 8 │ (17699,23) │ 16 │ f │ f │ 02 00 00 00 00 00 00 00 │ 2<br />
-- 9 │ (17699,24) │ 16 │ f │ f │ 02 00 00 00 00 00 00 00 │ 2<br />
-- 10 │ (0,3) │ 16 │ f │ f │ 03 00 00 00 00 00 00 00 │ 3<br />
-- 11 │ (8849,124) │ 16 │ f │ f │ 03 00 00 00 00 00 00 00 │ 3<br />
-- 12 │ (17699,21) │ 16 │ f │ f │ 03 00 00 00 00 00 00 00 │ 3<br />
-- 13 │ (17699,22) │ 16 │ f │ f │ 03 00 00 00 00 00 00 00 │ 3<br />
-- 14 │ (0,4) │ 16 │ f │ f │ 04 00 00 00 00 00 00 00 │ 4<br />
-- 15 │ (8849,123) │ 16 │ f │ f │ 04 00 00 00 00 00 00 00 │ 4<br />
-- (15 rows)<br />
</source><br />
<br />
== Unused Indexes ==<br />
<br />
Since indexes add significant overhead to any table change operation, they should be removed if they are not being used for either queries or constraint enforcement (such as making sure a value is unique). How to find such indexes:<br />
<br />
* [http://www.xzilla.net/blog/2008/Jul/Index-pruning-techniques.html Index pruning techniques]<br />
* [http://hype-free.blogspot.com/2008/09/finding-unused-indexes-in-postgresql.html Finding unused indexes]<br />
* [http://it.toolbox.com/blogs/database-soup/finding-useless-indexes-28796 Finding useless indexes]<br />
* [http://jmorano.moretrix.com/2014/02/postgresql-monitor-unused-indexes/ 'Monitor unused indexes' by Johnny Morano]<br />
<br />
== References ==<br />
<br />
* Index statistics queries from [http://www.baconandtech.com/2009/06/06/book-review-part-i-refactoring-sql-applications-with-bonus-queries/ "Refactoring SQL Applications" review]<br />
<br />
[[Category:Administration]][[Category:Performance]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=29799Converting from other Databases to PostgreSQL2017-04-09T11:18:57Z<p>Dim: /* MySQL */</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from more than 30 database engines to PostgreSQL and back<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, MS SQL Server, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [https://dbconvert.com/postgresql/ DBConvert PostgreSQL database migration and sync software] Database conversion and synchronization between PostgreSQL/ Amazon RDS, MySQL, MS SQL Server, SQL Azure, Oracle, MS Access.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
* [[Foreign_data_wrappers|Foreign data wrappers]] may be useful for exporting data from other databases<br />
* [http://www.convert-in.com/pgskit.htm Postgres Migration Toolkit] Software pack to convert Oracle, MySQL, SQL Server and FoxPro to PostgreSQL, and vice versa.<br />
* [https://github.com/ei-grad/sqlacrossover sqlacrossover] SQLAlchemy-based cross-database migration tool<br />
* [https://skyvia.com Skyvia] Web service for cloud data integration for PostgreSQL with Salesforce, Dynamics CRM, SugarCRM, Zoho CRM, QuickBooks, FreshBooks, ExactTarget, MailChimp, Bigcommerce, MySQL, SQL Server, SQL Azure, Amazon RDS.<br />
* [https://github.com/OmniDB/OmniDB OmniDB] Open source web tool for database management and conversion. Currently supports PostgreSQL, Oracle, MariaDB, MySQL, Firebird, SQLite, MS Access, MS SQL Server, MS SQL Compact. OmniDB converts from any supported RDBMS to PostgreSQL and back.<br />
<br />
== Apache Derby ==<br />
<br />
* [https://github.com/billrobertson42/derby2pg derby2pg] Converter program that will convert the tables, data and indexes in a given schema to a script that can be used to populate a PostgreSQL database.<br />
<br />
== DBase II, III, IV+ / DBF Format ==<br />
<br />
* [http://www.convert-in.com/dbf2pgs.htm FoxPro-to-PostgreSQL] a program to migrate FoxPro databases to PostgreSQL server. The program does not use ODBC or any other middleware software. Command line support allows to script, automate and schedule the conversion process.<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from DBF (dBase, Clipper, Visual FoxPro and other DBF variants) to PostgreSQL and back<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from more than 30 database engines, including IBM DB2, to PostgreSQL and back<br />
* [https://github.com/dalibo/db2topg/ db2topg] Migration tool to convert a DB2 UDB Database into a PostgreSQL database<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from more than 30 database engines, including Interbase, to PostgreSQL and back<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://www.postgresonline.com/journal/index.php?url=archives/346-Querying-MS-Access-and-other-ODBC-data-sources-with-OGR_FDW.html Linking to MS Access tables with ogr_fdw] If your PostgreSQL is on windows, you can use ogr_fdw foreign data wrapper, packaged with PostGIS 2.2+ bundle for windows via application stackbuilder. With PostgresQL 9.5, you can use IMPORT FOREIGN SCHEMA to link in all the MS access tables and then cherry pick how you want to restructure.<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from more than 30 database engines, including Access, to PostgreSQL and back<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d '\t' -D '%Y-%m-%d %H:%M:%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%Y-%m-%d %H:%M:%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
<br />
If the tablenames have embedded spaces...<br />
<br />
mdb-tables -1 file.mdb| while read TT<br />
do<br />
mdb-export -D '%Y-%m-%d %H:%M:%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
<br />
A shell script that may be useful for converting entire databases:<br />
<br />
#!/bin/sh -e<br />
<br />
mdbfn=$1<br />
schemafn=$2<br />
fkfn=$3<br />
datafn=$4<br />
schema=$5<br />
<br />
tf=$(tempfile)<br />
<br />
pre=""<br />
[ -n "${schema}" ] && pre="\"${schema}\"."<br />
<br />
mdb-schema "${mdbfn}" postgres > "${tf}"<br />
<br />
# Schema file<br />
echo "BEGIN;\n" > "${schemafn}"<br />
<br />
sp=""<br />
[ -n "${schema}" ] && echo "CREATE SCHEMA \"${schema}\";\n" >> "${schemafn}"<br />
[ -n "${schema}" ] && sp="SET search_path = \"${schema}\", pg_catalog;\n" <br />
<br />
echo ${sp} >> "${schemafn}"<br />
<br />
awk '($0 !~ /^ALTER TABLE.*FOREIGN KEY.*REFERENCES/) {print;}' "${tf}" >> "${schemafn}"<br />
<br />
echo "\nEND;" >> "${schemafn}"<br />
<br />
# Foreign keys file<br />
echo "BEGIN;\n" > "${fkfn}"<br />
echo ${sp} >> "${fkfn}"<br />
<br />
awk '($0 ~ /^ALTER TABLE.*FOREIGN KEY.*REFERENCES/) {print;}' "${tf}" >> "${fkfn}"<br />
<br />
echo "\nEND;" >> "${fkfn}"<br />
<br />
# Data file<br />
echo "BEGIN;\n" > "${datafn}"<br />
echo "SET CONSTRAINTS ALL DEFERRED;\n" >> "${datafn}"<br />
<br />
mdb-tables -1 "${mdbfn}" | while read TT<br />
do<br />
mdb-export -Q -d '\t' -D '%Y-%m-%d %H:%M:%S' "${mdbfn}" "$TT" > "${tf}"<br />
<br />
awk -v pre="${pre}" -v TT="${TT}" \<br />
'(NR==1) {gsub(/\t/,"\",\""); print "COPY " pre "\"" TT "\"(\"" $0 "\") FROM stdin;";}' "${tf}" >> "${datafn}"<br />
awk '(NR>1) {gsub(/\t\t/,"\t\\N\t"); gsub(/\t$/,"\t\\N"); gsub(/\t\t/,"\t\\N\t"); print;}' "${tf}" >> "${datafn}"<br />
<br />
echo "\\.\n" >> "${datafn}"<br />
done<br />
<br />
echo "END;" >> "${datafn}"<br />
<br />
rm -f "${tf}"<br />
<br />
If this script is saved to the file access2psql.sh and made executable, then it would be used as follows:<br />
<br />
access2psql.sh file.mdb schema.sql foreignkeys.sql data.sql pg_schema_name<br />
psql -f schema.sql pg_db_name<br />
psql -f data.sql pg_db_name<br />
psql -f foreignkeys.sql pg_db_name<br />
<br />
This script won't work properly if there are tab characters in text columns, though the call to mdb-export could be modified to export INSERT statements to fix this. Also, mdb-schema has trouble representing multi-column foreign keys, so foreignkeys.sql may need some manual editing.<br />
<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://www.convert-in.com/mss2pgs.htm MSSQL-to-PostgreSQL] is a migration utility to convert SQL Server or SQL Azure databases to PostgreSQL. Option to filter data using SELECT-queries, synchronization mode, command line support.<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from more than 30 database engines, including SQL Server, to PostgreSQL and back<br />
* [http://dalibo.github.io/sqlserver2pgsql/ sqlserver2pgsql] Migration tool to convert a Microsoft SQL Server Database into a PostgreSQL database<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [https://dbconvert.com/mssql/postgresql/ DBConvert for PostgreSQL and MS SQL Server] Conversion and Sync software solutions for cross database migration between PostgreSQL/ Amazon RDS and MS SQL Server/ SQL Azure<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
[https://github.com/dimitri/pgloader pgloader] supports full migration of the database schema and data from a single command line and provides a command language for more complex or specific scenarios. It is still fully supported: please report any bugs on its GitHub page. It appears in the 2013 section here because that's when it has been published first.<br />
<br />
<br />
==== 2015 ====<br />
* [http://www.convert-in.com/sql2pgs.htm MySQL-to-PostgreSQL] is a program to migrate MySQL databases to PostgreSQL server. Option to filter data using SELECT-queries, synchronization mode, command line support.<br />
* [https://github.com/AnatolyUss/FromMySqlToPostgreSql FromMySqlToPostgreSql migration tool by Anatoly Khaytovich], provides an accurate migration of table data, indices, PKs, FKs... Makes an extensive use of PostgreSQL COPY protocol.<br />
<br />
==== 2014 ====<br />
<br />
* [https://github.com/mihailShumilov/mysql2postgresql MySQL/PostgreSQL Converter from Mihail Shumilov], written on PHP. Supported big DB<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [https://github.com/dimitri/pgloader pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here] and [http://tapoueh.org/blog/2013/11/12-migrating-sakila Migrating Sakila from MySQL to PostgreSQL]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from more than 30 database engines to PostgreSQL and back<br />
* [https://dbconvert.com/oracle/postgresql/ Database migration for Oracle and PostgreSQL] Software for cross - database conversion and sync between Oracle and PostgreSQL.<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
* [http://www.convert-in.com/ora2pgs.htm Oracle-to-PostgreSQL] - a program to migrate Oracle databases to PostgreSQL server. The program has high performance due to direct connection to data source and destination databases (it does not use ODBC or any other middleware software). Command line support allows to script, automate and schedule the conversion process.<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://tapoueh.org/confs/2013/10/29-pgconfeu-2013 From MySQL to PostgreSQL with pgloader] (English) talk at PostgreSQL Conference Europe, Dimitri Fontaine, 2013-10-29<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
* [https://www.spectralcore.com/fullconvert Full Convert] Database conversion from PostgreSQL to more than 30 database engines<br />
* [https://github.com/OmniDB/OmniDB OmniDB] Open source web tool for database management and conversion. Currently supports PostgreSQL, Oracle, MariaDB, MySQL, Firebird, SQLite, MS Access, MS SQL Server, MS SQL Compact. OmniDB converts from any supported RDBMS to PostgreSQL and back.<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=PgConfUS_Talks_2016&diff=27481PgConfUS Talks 20162016-04-27T18:53:17Z<p>Dim: /* Lightning Talks */ pgloader</p>
<hr />
<div>= PGConf US 2016 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://www.pgconf.us/2016/<br />
<br />
== Videos ==<br />
<br />
https://www.youtube.com/pgconfus/<br />
<br />
== Trainings: Monday, 18 Apr 2016 ==<br />
<br />
* PostgreSQL When It is Not Your Job, Christophe Pettus<br />
* Linux tuning to improve PostgreSQL performance: from hardware to postgresql.conf, Ilya Kosmodemiansky<br />
* Steel Elephant: A Highly Secure PostgreSQL Environment with HashiCorp's Vault and Consul, Sean Chittenden<br />
* Introduction to PostGIS, Leo Hsu and Regina Obe<br />
* Out of the Box Replication in PostgreSQL 9.4, Denish Patel<br />
* Elevating Your Confidence with PostgreSQL's Restoration Capabilities!, Joshua D. Drake<br />
<br />
== Regulated Industry Summit: Monday, 18 Apr 2016 ==<br />
<br />
* State of Encryption, Privacy and Architecting for Scale, Will Ackerly, Founder, CTO, Virtru<br />
* Panel: Security, Compliance and IoT<br />
* Ideology and Licensing of Free and Open Source Software, Karen Sandler, Executive Director, Software Freedom Conservancy<br />
* Regulated Industries - Overview of New Drug Development and its Data Challenges, Dr. David P. Katz, Director - Life Sciences, KPMG<br />
* Healthcare & Regulations, Michael Ebert, Partner - Cyber Practice, KPMG<br />
* Roundtable: Can PostgreSQL become the world’s most advanced "enterprise" database?, PostgreSQL Core Team / Major Contributors<br />
* Panel: Modern Data Management for Enterprises, Bridging the SQL/NoSQL divide, Perspectives from MongoDB, PostgreSQL, Compose.io<br />
<br />
== Sessions: Tuesday, 19 Apr 2016 ==<br />
<br />
=== Grand Ballroom Salon A ===<br />
<br />
* Lessons Learned Operating Postgres at Scale, Dave Pirotte<br />
* An Availability Journey with MasterCard and PostgreSQL, John Young<br />
* [https://speakerdeck.com/lfittl/postgresql-at-a-web-startup Practical Lessons Learned when using PostgreSQL at a Web Startup], Lukas Fittl<br />
* [https://speakerdeck.com/pteodoro/esasky-new-window-to-the-universe ESA Sky: New window to the stars using PostgreSQL], Pilar de Teodoro<br />
* PostgreSQL in the Polyglot Enterprise, Mitch Pirtle<br />
<br />
=== Grand Ballroom Salon B ===<br />
<br />
* PostgreSQL Monitoring, Kevin Kempter<br />
* HawkEye On Postgresql, Adarsh Sharma<br />
* PostgreSQL High-Availability and Geographic Locality using consul, Sean Chittenden<br />
* Amazon RDS for PostgreSQL - Deep Dive on New Features and Learnings, Grant McAlister<br />
* HA PostgreSQL cluster with repmgr and pgbouncer, Jaime Casanova<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* PostgreSQL & Java: past, present and future, Alvaro Hernandez<br />
* [http://www.postgis.us/presentations/PGConfUS2016_PostGISTop10.pdf Top 10 Problems Solved by PostGIS], Leo Hsu and Regina Obe<br />
* Overcoming First Principles: A guide for accessing the features of PostgreSQL in test-driven development, Eric Radman<br />
* PubSub with Postgresql, Gian Biondi<br />
* [https://www.dropbox.com/sh/7jcmk7mp2qz0tho/AAC89g8PDayuVEAn3iEBbQtMa?dl=0 Predictive Analytics IN Postgres], [https://www.linkedin.com/in/decibel Jim Nasby]<br />
<br />
=== Northside Ballroom ===<br />
<br />
* PostgreSQL Development, Simon Riggs<br />
* How PostgreSQL is tested, Peter Eisentraut<br />
* Citus Architecture: Extending Postgres to Build a Distributed Database, Ozgun Erdogan<br />
* Deep dive into PostgreSQL statistics, Alexey Lesovsky<br />
* Sorting Through the Ages, Gregory Stark<br />
<br />
== Keynotes ==<br />
<br />
* Opening Keynote - Parag Goradia, Executive Director, Cloud Services Engineering, General Electric Digital<br />
* EnterpriseDB and Open Source, Robert Haas, Chief Database Architect, EnterpriseDB<br />
* BigSQL.org - The Best Way to Get Your PostgreSQL On, David Rader, Partner & VP Product Engineering, OpenSCG<br />
* Citus and the Cloud, Umur Cubukcu, CEO & Founder and Will Leinweber, Engineer at Citus Data<br />
* Hidden in the Docs: Connection Tunable Write Consistency, Chris Winslett, Platform Engineer, Compose<br />
<br />
== Sessions: Wednesday, 20 Apr 2016 ==<br />
<br />
=== Grand Ballroom Salon A ===<br />
<br />
* Using PostgreSQL to manage ArcGIS spatial data - Taking PostgreSQL and Analytics to the Next Level with Pythonm, Chaula Jain, Andy Eschbacher<br />
* Data Integration in the World of Microservices, Valentine Gogichashvili<br />
* On Providing Scalable Managed PostgreSQL services to Cloud Foundry, Xiujiao Gao<br />
* How Tencent uses Postgres-XC for their high volume WeChat payment system, Jasonys Li<br />
* [[Media:PGConfUS2016_Migrating_a_live_Postgres_database_into_RDS_with_no_downtime.pdf|Migrating a live Postgres database into RDS with no downtime: Experiences and Lessons Learned]], David Benoit<br />
* PostgreSQL HA Database Clusters through Containment, Quan-Ha Le<br />
<br />
=== Grand Ballroom Salon B ===<br />
<br />
* PostgreSQL DevOps with Chef & Puppet, Scott Mead<br />
* Achieving a State of Flow: Continuous Integration and Practical Event Sourcing w/ PostgreSQL, Paolo Lim<br />
* Kicking the Donkey of PostgreSQL Replication, Joshua D. Drake<br />
* [http://www.pgbackrest.org/media/slide/pgBackRest-PGConfUS-2016.pdf Efficiently Backing up Terabytes of Data with pgBackRest], David Steele<br />
* [http://tapoueh.org//images/confs/PGDAY_NYC_2016_backup.pdf You'd better have tested backups], [http://tapoueh.org Dimitri Fontaine]<br />
* [https://gauss.credativ.com/~mme/2016/PGConfUS_2016_V01.pdf PostgreSQL Power on Power], Michael Meskes<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* [http://www.joeconway.com/presentations/mls-postgres-pgconf.us-2016.pdf MLS PostgreSQL: Implementing Multi-level Security in PostgreSQL with RLS and SELinux], Joe Conway<br />
* [[Media:Ranges,_Partitioning_and_Limitations.pdf|Ranges, Partitioning and Limitations]], Corey Huinker<br />
* That SQL looks pretty complicated. Where are the tests?, James E. Marca<br />
* PostgreSQL’s secret NoSQL superpowers, Amanda Gilmore<br />
* Programming the SQL Way with Common Table Expressions, Bruce Momjian<br />
* Deploying and Managing PostgreSQL with Ansible, David Hollenberger<br />
<br />
=== Northside Ballroom ===<br />
<br />
* SQL and MongoDB: how PostgreSQL brought them together, Asya Kamsky<br />
* How we made Greenplum Open Source, Andreas Scherbaum<br />
* Parallel Query In PostgreSQL, Robert Haas<br />
* [http://anarazel.de/talks/pgconf-nyc-2016-04-20/io.pdf IO in Postgres - Architecture, Tuning, Problems], Andres Freund<br />
* PostgreSQL Performance Presentation, 9.6devel Edition, Mark Wong<br />
* [http://www.hagander.net/talks/PostgreSQL_9.6.pdf A look at the Elephants trunk - PostgreSQL 9.6], Magnus Hagander<br />
<br />
== Lightning Talks ==<br />
<br />
* [http://tapoueh.org/images/confs/PGDAY_NYC_2016_pgloader.pdf pgloader], [http://tapoueh.org Dimitri Fontaine]</div>Dimhttps://wiki.postgresql.org/index.php?title=PgConfUS_Talks_2016&diff=27480PgConfUS Talks 20162016-04-27T18:51:56Z<p>Dim: /* Grand Ballroom Salon B */</p>
<hr />
<div>= PGConf US 2016 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://www.pgconf.us/2016/<br />
<br />
== Videos ==<br />
<br />
https://www.youtube.com/pgconfus/<br />
<br />
== Trainings: Monday, 18 Apr 2016 ==<br />
<br />
* PostgreSQL When It is Not Your Job, Christophe Pettus<br />
* Linux tuning to improve PostgreSQL performance: from hardware to postgresql.conf, Ilya Kosmodemiansky<br />
* Steel Elephant: A Highly Secure PostgreSQL Environment with HashiCorp's Vault and Consul, Sean Chittenden<br />
* Introduction to PostGIS, Leo Hsu and Regina Obe<br />
* Out of the Box Replication in PostgreSQL 9.4, Denish Patel<br />
* Elevating Your Confidence with PostgreSQL's Restoration Capabilities!, Joshua D. Drake<br />
<br />
== Regulated Industry Summit: Monday, 18 Apr 2016 ==<br />
<br />
* State of Encryption, Privacy and Architecting for Scale, Will Ackerly, Founder, CTO, Virtru<br />
* Panel: Security, Compliance and IoT<br />
* Ideology and Licensing of Free and Open Source Software, Karen Sandler, Executive Director, Software Freedom Conservancy<br />
* Regulated Industries - Overview of New Drug Development and its Data Challenges, Dr. David P. Katz, Director - Life Sciences, KPMG<br />
* Healthcare & Regulations, Michael Ebert, Partner - Cyber Practice, KPMG<br />
* Roundtable: Can PostgreSQL become the world’s most advanced "enterprise" database?, PostgreSQL Core Team / Major Contributors<br />
* Panel: Modern Data Management for Enterprises, Bridging the SQL/NoSQL divide, Perspectives from MongoDB, PostgreSQL, Compose.io<br />
<br />
== Sessions: Tuesday, 19 Apr 2016 ==<br />
<br />
=== Grand Ballroom Salon A ===<br />
<br />
* Lessons Learned Operating Postgres at Scale, Dave Pirotte<br />
* An Availability Journey with MasterCard and PostgreSQL, John Young<br />
* [https://speakerdeck.com/lfittl/postgresql-at-a-web-startup Practical Lessons Learned when using PostgreSQL at a Web Startup], Lukas Fittl<br />
* [https://speakerdeck.com/pteodoro/esasky-new-window-to-the-universe ESA Sky: New window to the stars using PostgreSQL], Pilar de Teodoro<br />
* PostgreSQL in the Polyglot Enterprise, Mitch Pirtle<br />
<br />
=== Grand Ballroom Salon B ===<br />
<br />
* PostgreSQL Monitoring, Kevin Kempter<br />
* HawkEye On Postgresql, Adarsh Sharma<br />
* PostgreSQL High-Availability and Geographic Locality using consul, Sean Chittenden<br />
* Amazon RDS for PostgreSQL - Deep Dive on New Features and Learnings, Grant McAlister<br />
* HA PostgreSQL cluster with repmgr and pgbouncer, Jaime Casanova<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* PostgreSQL & Java: past, present and future, Alvaro Hernandez<br />
* [http://www.postgis.us/presentations/PGConfUS2016_PostGISTop10.pdf Top 10 Problems Solved by PostGIS], Leo Hsu and Regina Obe<br />
* Overcoming First Principles: A guide for accessing the features of PostgreSQL in test-driven development, Eric Radman<br />
* PubSub with Postgresql, Gian Biondi<br />
* [https://www.dropbox.com/sh/7jcmk7mp2qz0tho/AAC89g8PDayuVEAn3iEBbQtMa?dl=0 Predictive Analytics IN Postgres], [https://www.linkedin.com/in/decibel Jim Nasby]<br />
<br />
=== Northside Ballroom ===<br />
<br />
* PostgreSQL Development, Simon Riggs<br />
* How PostgreSQL is tested, Peter Eisentraut<br />
* Citus Architecture: Extending Postgres to Build a Distributed Database, Ozgun Erdogan<br />
* Deep dive into PostgreSQL statistics, Alexey Lesovsky<br />
* Sorting Through the Ages, Gregory Stark<br />
<br />
== Keynotes ==<br />
<br />
* Opening Keynote - Parag Goradia, Executive Director, Cloud Services Engineering, General Electric Digital<br />
* EnterpriseDB and Open Source, Robert Haas, Chief Database Architect, EnterpriseDB<br />
* BigSQL.org - The Best Way to Get Your PostgreSQL On, David Rader, Partner & VP Product Engineering, OpenSCG<br />
* Citus and the Cloud, Umur Cubukcu, CEO & Founder and Will Leinweber, Engineer at Citus Data<br />
* Hidden in the Docs: Connection Tunable Write Consistency, Chris Winslett, Platform Engineer, Compose<br />
<br />
== Sessions: Wednesday, 20 Apr 2016 ==<br />
<br />
=== Grand Ballroom Salon A ===<br />
<br />
* Using PostgreSQL to manage ArcGIS spatial data - Taking PostgreSQL and Analytics to the Next Level with Pythonm, Chaula Jain, Andy Eschbacher<br />
* Data Integration in the World of Microservices, Valentine Gogichashvili<br />
* On Providing Scalable Managed PostgreSQL services to Cloud Foundry, Xiujiao Gao<br />
* How Tencent uses Postgres-XC for their high volume WeChat payment system, Jasonys Li<br />
* [[Media:PGConfUS2016_Migrating_a_live_Postgres_database_into_RDS_with_no_downtime.pdf|Migrating a live Postgres database into RDS with no downtime: Experiences and Lessons Learned]], David Benoit<br />
* PostgreSQL HA Database Clusters through Containment, Quan-Ha Le<br />
<br />
=== Grand Ballroom Salon B ===<br />
<br />
* PostgreSQL DevOps with Chef & Puppet, Scott Mead<br />
* Achieving a State of Flow: Continuous Integration and Practical Event Sourcing w/ PostgreSQL, Paolo Lim<br />
* Kicking the Donkey of PostgreSQL Replication, Joshua D. Drake<br />
* [http://www.pgbackrest.org/media/slide/pgBackRest-PGConfUS-2016.pdf Efficiently Backing up Terabytes of Data with pgBackRest], David Steele<br />
* [http://tapoueh.org//images/confs/PGDAY_NYC_2016_backup.pdf You'd better have tested backups], [http://tapoueh.org Dimitri Fontaine]<br />
* [https://gauss.credativ.com/~mme/2016/PGConfUS_2016_V01.pdf PostgreSQL Power on Power], Michael Meskes<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* [http://www.joeconway.com/presentations/mls-postgres-pgconf.us-2016.pdf MLS PostgreSQL: Implementing Multi-level Security in PostgreSQL with RLS and SELinux], Joe Conway<br />
* [[Media:Ranges,_Partitioning_and_Limitations.pdf|Ranges, Partitioning and Limitations]], Corey Huinker<br />
* That SQL looks pretty complicated. Where are the tests?, James E. Marca<br />
* PostgreSQL’s secret NoSQL superpowers, Amanda Gilmore<br />
* Programming the SQL Way with Common Table Expressions, Bruce Momjian<br />
* Deploying and Managing PostgreSQL with Ansible, David Hollenberger<br />
<br />
=== Northside Ballroom ===<br />
<br />
* SQL and MongoDB: how PostgreSQL brought them together, Asya Kamsky<br />
* How we made Greenplum Open Source, Andreas Scherbaum<br />
* Parallel Query In PostgreSQL, Robert Haas<br />
* [http://anarazel.de/talks/pgconf-nyc-2016-04-20/io.pdf IO in Postgres - Architecture, Tuning, Problems], Andres Freund<br />
* PostgreSQL Performance Presentation, 9.6devel Edition, Mark Wong<br />
* [http://www.hagander.net/talks/PostgreSQL_9.6.pdf A look at the Elephants trunk - PostgreSQL 9.6], Magnus Hagander<br />
<br />
== Lightning Talks ==</div>Dimhttps://wiki.postgresql.org/index.php?title=PgConfUS_Talks_2016&diff=27479PgConfUS Talks 20162016-04-27T18:51:42Z<p>Dim: dim's slides</p>
<hr />
<div>= PGConf US 2016 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://www.pgconf.us/2016/<br />
<br />
== Videos ==<br />
<br />
https://www.youtube.com/pgconfus/<br />
<br />
== Trainings: Monday, 18 Apr 2016 ==<br />
<br />
* PostgreSQL When It is Not Your Job, Christophe Pettus<br />
* Linux tuning to improve PostgreSQL performance: from hardware to postgresql.conf, Ilya Kosmodemiansky<br />
* Steel Elephant: A Highly Secure PostgreSQL Environment with HashiCorp's Vault and Consul, Sean Chittenden<br />
* Introduction to PostGIS, Leo Hsu and Regina Obe<br />
* Out of the Box Replication in PostgreSQL 9.4, Denish Patel<br />
* Elevating Your Confidence with PostgreSQL's Restoration Capabilities!, Joshua D. Drake<br />
<br />
== Regulated Industry Summit: Monday, 18 Apr 2016 ==<br />
<br />
* State of Encryption, Privacy and Architecting for Scale, Will Ackerly, Founder, CTO, Virtru<br />
* Panel: Security, Compliance and IoT<br />
* Ideology and Licensing of Free and Open Source Software, Karen Sandler, Executive Director, Software Freedom Conservancy<br />
* Regulated Industries - Overview of New Drug Development and its Data Challenges, Dr. David P. Katz, Director - Life Sciences, KPMG<br />
* Healthcare & Regulations, Michael Ebert, Partner - Cyber Practice, KPMG<br />
* Roundtable: Can PostgreSQL become the world’s most advanced "enterprise" database?, PostgreSQL Core Team / Major Contributors<br />
* Panel: Modern Data Management for Enterprises, Bridging the SQL/NoSQL divide, Perspectives from MongoDB, PostgreSQL, Compose.io<br />
<br />
== Sessions: Tuesday, 19 Apr 2016 ==<br />
<br />
=== Grand Ballroom Salon A ===<br />
<br />
* Lessons Learned Operating Postgres at Scale, Dave Pirotte<br />
* An Availability Journey with MasterCard and PostgreSQL, John Young<br />
* [https://speakerdeck.com/lfittl/postgresql-at-a-web-startup Practical Lessons Learned when using PostgreSQL at a Web Startup], Lukas Fittl<br />
* [https://speakerdeck.com/pteodoro/esasky-new-window-to-the-universe ESA Sky: New window to the stars using PostgreSQL], Pilar de Teodoro<br />
* PostgreSQL in the Polyglot Enterprise, Mitch Pirtle<br />
<br />
=== Grand Ballroom Salon B ===<br />
<br />
* PostgreSQL Monitoring, Kevin Kempter<br />
* HawkEye On Postgresql, Adarsh Sharma<br />
* PostgreSQL High-Availability and Geographic Locality using consul, Sean Chittenden<br />
* Amazon RDS for PostgreSQL - Deep Dive on New Features and Learnings, Grant McAlister<br />
* HA PostgreSQL cluster with repmgr and pgbouncer, Jaime Casanova<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* PostgreSQL & Java: past, present and future, Alvaro Hernandez<br />
* [http://www.postgis.us/presentations/PGConfUS2016_PostGISTop10.pdf Top 10 Problems Solved by PostGIS], Leo Hsu and Regina Obe<br />
* Overcoming First Principles: A guide for accessing the features of PostgreSQL in test-driven development, Eric Radman<br />
* PubSub with Postgresql, Gian Biondi<br />
* [https://www.dropbox.com/sh/7jcmk7mp2qz0tho/AAC89g8PDayuVEAn3iEBbQtMa?dl=0 Predictive Analytics IN Postgres], [https://www.linkedin.com/in/decibel Jim Nasby]<br />
<br />
=== Northside Ballroom ===<br />
<br />
* PostgreSQL Development, Simon Riggs<br />
* How PostgreSQL is tested, Peter Eisentraut<br />
* Citus Architecture: Extending Postgres to Build a Distributed Database, Ozgun Erdogan<br />
* Deep dive into PostgreSQL statistics, Alexey Lesovsky<br />
* Sorting Through the Ages, Gregory Stark<br />
<br />
== Keynotes ==<br />
<br />
* Opening Keynote - Parag Goradia, Executive Director, Cloud Services Engineering, General Electric Digital<br />
* EnterpriseDB and Open Source, Robert Haas, Chief Database Architect, EnterpriseDB<br />
* BigSQL.org - The Best Way to Get Your PostgreSQL On, David Rader, Partner & VP Product Engineering, OpenSCG<br />
* Citus and the Cloud, Umur Cubukcu, CEO & Founder and Will Leinweber, Engineer at Citus Data<br />
* Hidden in the Docs: Connection Tunable Write Consistency, Chris Winslett, Platform Engineer, Compose<br />
<br />
== Sessions: Wednesday, 20 Apr 2016 ==<br />
<br />
=== Grand Ballroom Salon A ===<br />
<br />
* Using PostgreSQL to manage ArcGIS spatial data - Taking PostgreSQL and Analytics to the Next Level with Pythonm, Chaula Jain, Andy Eschbacher<br />
* Data Integration in the World of Microservices, Valentine Gogichashvili<br />
* On Providing Scalable Managed PostgreSQL services to Cloud Foundry, Xiujiao Gao<br />
* How Tencent uses Postgres-XC for their high volume WeChat payment system, Jasonys Li<br />
* [[Media:PGConfUS2016_Migrating_a_live_Postgres_database_into_RDS_with_no_downtime.pdf|Migrating a live Postgres database into RDS with no downtime: Experiences and Lessons Learned]], David Benoit<br />
* PostgreSQL HA Database Clusters through Containment, Quan-Ha Le<br />
<br />
=== Grand Ballroom Salon B ===<br />
<br />
* PostgreSQL DevOps with Chef & Puppet, Scott Mead<br />
* Achieving a State of Flow: Continuous Integration and Practical Event Sourcing w/ PostgreSQL, Paolo Lim<br />
* Kicking the Donkey of PostgreSQL Replication, Joshua D. Drake<br />
* [http://www.pgbackrest.org/media/slide/pgBackRest-PGConfUS-2016.pdf Efficiently Backing up Terabytes of Data with pgBackRest], David Steele<br />
* [http://tapoueh.org//images/confs/PGDAY_NYC_2016_backup.pdf You'd better have tested backups[, [http://tapoueh.org Dimitri Fontaine]<br />
* [https://gauss.credativ.com/~mme/2016/PGConfUS_2016_V01.pdf PostgreSQL Power on Power], Michael Meskes<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* [http://www.joeconway.com/presentations/mls-postgres-pgconf.us-2016.pdf MLS PostgreSQL: Implementing Multi-level Security in PostgreSQL with RLS and SELinux], Joe Conway<br />
* [[Media:Ranges,_Partitioning_and_Limitations.pdf|Ranges, Partitioning and Limitations]], Corey Huinker<br />
* That SQL looks pretty complicated. Where are the tests?, James E. Marca<br />
* PostgreSQL’s secret NoSQL superpowers, Amanda Gilmore<br />
* Programming the SQL Way with Common Table Expressions, Bruce Momjian<br />
* Deploying and Managing PostgreSQL with Ansible, David Hollenberger<br />
<br />
=== Northside Ballroom ===<br />
<br />
* SQL and MongoDB: how PostgreSQL brought them together, Asya Kamsky<br />
* How we made Greenplum Open Source, Andreas Scherbaum<br />
* Parallel Query In PostgreSQL, Robert Haas<br />
* [http://anarazel.de/talks/pgconf-nyc-2016-04-20/io.pdf IO in Postgres - Architecture, Tuning, Problems], Andres Freund<br />
* PostgreSQL Performance Presentation, 9.6devel Edition, Mark Wong<br />
* [http://www.hagander.net/talks/PostgreSQL_9.6.pdf A look at the Elephants trunk - PostgreSQL 9.6], Magnus Hagander<br />
<br />
== Lightning Talks ==</div>Dimhttps://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2016_Developer_Meeting&diff=27076FOSDEM/PGDay 2016 Developer Meeting2016-01-15T20:35:22Z<p>Dim: /* RSVPs */ +dim</p>
<hr />
<div>A meeting of the interested PostgreSQL developers is being planned for Thursday 28th January, 2016 at the Brussels Marriott Hotel, prior to FOSDEM/PGDay 2016. In order to keep the numbers manageable, this meeting is by '''invitation only'''. Unfortunately it is quite possible that we've overlooked important individuals during the planning of the event - if you feel you fall into this category and would like to attend, please contact Dave Page (dpage@pgadmin.org).<br />
<br />
Please note that the attendee numbers have been kept low in order to keep the meeting more productive. Invitations have been sent only to developers that have been highly active on the database server over the 9.5 release cycle. We have not invited any contributors based on their contributions to related projects, or seniority in regional user groups or sponsoring companies.<br />
<br />
This is a PostgreSQL Community event.<br />
<br />
== Meeting Goals ==<br />
<br />
* Review the progress of the 9.6 schedule, and formulate plans to address any issues<br />
* Address any proposed timing, policy, or procedure issues<br />
* Address any proposed [http://en.wikipedia.org/wiki/Wicked_problem Wicked problems]<br />
<br />
== Time & Location ==<br />
<br />
The meeting will be:<br />
<br />
* 9:00AM to 5:30PM<br />
* Brussels Marriott Hotel<br />
<br />
Coffee, tea and snacks will be served starting at 8:45am. Lunch will be provided.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname) and will be attending:<br />
<br />
* Oleg Bartunov<br />
* Joe Conway<br />
* Dimitri Fontaine<br />
* Andres Freund<br />
* Magnus Hagander<br />
* Petr Jelinek<br />
* Peter Geoghegan<br />
* Kevin Grittner<br />
* Álvaro Herrera<br />
* Heikki Linnakangas<br />
* Tom Lane<br />
* Bruce Momjian<br />
* Dave Page<br />
* Dean Rasheed<br />
* Craig Ringer<br />
* Simon Riggs<br />
* Teodor Sigaev<br />
* Tomas Vondra<br />
<br />
The following people have sent their apologies:<br />
<br />
* Josh Berkus<br />
* Jeff Davis<br />
* Andrew Dunstan<br />
* Peter Eisentraut<br />
* Stephen Frost<br />
* Etsuro Fujita<br />
* Amit Kapila<br />
* Kohei Kaigai<br />
* Robert Haas<br />
* Fujii Masao<br />
* Noah Misch<br />
* Michael Paquier<br />
* Masahiko Sawada<br />
* Pavel Stehule<br />
<br />
==Agenda Items==<br />
<br />
Please list any agenda items below for inclusion on the schedule.<br />
* Distributed transaction manager for PostgreSQL 9.6 (Knizhnik K.A)<br />
* Future of storage (Álvaro Herrera et al)<br />
* pglogical, BDR and logical decoding (Petr, Craig, Simon)<br />
* 9.6ff Release Schedule</div>Dimhttps://wiki.postgresql.org/index.php?title=PgDay_Paris_2015&diff=24610PgDay Paris 20152015-04-24T08:36:49Z<p>Dim: /* Talks: Wednesday, March 11th, 2015 */</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: https://www.postgresql.eu/events/schedule/pgdayparis2015/<br />
<br />
== Talks: Wednesday, March 11th, 2015 ==<br />
<br />
* [http://pgsql.tapoueh.org/pgdayparis2015/Presentation%20PgDays%20Paris%2021042015%20-%20v3.pdf Cas d'usage industriel de PostgreSQL dans le groupe ADEO], Raphaël Capliez et Sergueï Smirnoff<br />
* [http://www.loxodata.com/sites/default/files/news/PGDayParis2015_Danser_troupeau_%C3%A9l%C3%A9phants.pdf J'ai fait danser un troupeau d'éléphants], Stéphane Schildknecht et Patrick Francelle<br />
* [http://www.hagander.net/talks/postgresql95.pdf A look at the Elephants trunk] - PostgreSQL 9.5, Magnus Hagander<br />
* ToroDB: a new, open-source, document-oriented, JSON database, built on Postgres, Alvaro Hernandez<br />
* Performances et fonctionnalités dans les développements Web avec Postgres, Grégoire HUBERT<br />
* PostgreSQL Online Upgrades and Maintenance, Petr Jelinek<br />
* [http://pgsql.tapoueh.org/pgdayparis2015/postgis_presentation.pdf PostGIS, le spatial pour PostgreSQL], Vincent Mora<br />
* PostgreSQL, the world's most advanced database, Simon Riggs</div>Dimhttps://wiki.postgresql.org/index.php?title=PgDay_Paris_2015&diff=24609PgDay Paris 20152015-04-24T08:36:16Z<p>Dim: /* Talks: Wednesday, March 11th, 2015 */</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: https://www.postgresql.eu/events/schedule/pgdayparis2015/<br />
<br />
== Talks: Wednesday, March 11th, 2015 ==<br />
<br />
* [http://pgsql.tapoueh.org/pgdayparis2015/Presentation%20PgDays%20Paris%2021042015%20-%20v3.pdf Cas d'usage industriel de PostgreSQL dans le groupe ADEO], Raphaël Capliez et Sergueï Smirnoff<br />
* [http://www.loxodata.com/sites/default/files/news/PGDayParis2015_Danser_troupeau_%C3%A9l%C3%A9phants.pdf J'ai fait danser un troupeau d'éléphants], Stéphane Schildknecht et Patrick Francelle<br />
* [http://www.hagander.net/talks/postgresql95.pdf A look at the Elephants trunk] - PostgreSQL 9.5, Magnus Hagander<br />
* ToroDB: a new, open-source, document-oriented, JSON database, built on Postgres, Alvaro Hernandez<br />
* Performances et fonctionnalités dans les développements Web avec Postgres, Grégoire HUBERT<br />
* PostgreSQL Online Upgrades and Maintenance, Petr Jelinek<br />
* PostGIS, le spatial pour PostgreSQL, Vincent Mora<br />
* PostgreSQL, the world's most advanced database, Simon Riggs</div>Dimhttps://wiki.postgresql.org/index.php?title=PgDay_Paris_2015&diff=24602PgDay Paris 20152015-04-23T10:24:46Z<p>Dim: Created page with "==Schedule== Schedule is available at the following website: https://www.postgresql.eu/events/schedule/pgdayparis2015/ == Talks: Wednesday, March 11th, 2015 == * Cas d'usag..."</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: https://www.postgresql.eu/events/schedule/pgdayparis2015/<br />
<br />
== Talks: Wednesday, March 11th, 2015 ==<br />
<br />
* Cas d'usage industriel de PostgreSQL dans le groupe ADEO, ADEO<br />
* J'ai fait danser une meute d'éléphants, Stéphane Schildknecht<br />
* A look at the Elephants trunk - PostgreSQL 9.5, Magnus Hagander<br />
* ToroDB: a new, open-source, document-oriented, JSON database, built on Postgres, Alvaro Hernandez<br />
* Performances et fonctionnalités dans les développements Web avec Postgres, Grégoire HUBERT<br />
* PostgreSQL Online Upgrades and Maintenance, Petr Jelinek<br />
* PostGIS, le spatial pour PostgreSQL, Vincent Mora<br />
* PostgreSQL, the world's most advanced database, Simon Riggs</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Related_Slides_and_Presentations&diff=24601PostgreSQL Related Slides and Presentations2015-04-23T10:22:09Z<p>Dim: </p>
<hr />
<div>Here you can find links to various PostgreSQL related presentations<br />
* [[pgDay_Paris_2015|pgDay Paris 2015]]<br />
* [[PgConfUS_Talks_2015|PGConf US 2015]]<br />
* [[Nordic_PGDay_2015|Nordic PGDay, Copenhagen, 2015]]<br />
* [[FOSDEM_2015|FOSDEM, Brussels 2015]]<br />
* [http://vimeo.com/110472415 Level Up Conference 2014 | Craig Kersteins | Postgres: A Data Platform]<br />
* [[PostgreSQL_Conference_Europe_Talks_2014|PostgreSQL Conference Europe Talks 2014]]<br />
* [[PostgreSQL_Meetup_Paris_2014_Sept|PostgreSQL Meetup Paris, 2014-09-08]]<br />
* [[PGConf_NYC_2014_Talks|PGConf NYC 2014]]<br />
* [[Nordic_PGDay_2014|Nordic PGDay, Stockholm, 2014]]<br />
* [[PGDay_SCALE12x|PgDay SCALE 12x, 2014]]<br />
* [[FOSDEM_2014|FOSDEM, Brussels 2014]]<br />
* [[PGDay_Argentina_2013|PgDay Argentina 2013]]<br />
* [[German-Speaking PostgreSQL Conference 2013 | PGConf.DE 2013 - German-Speaking PostgreSQL Conference 2013]]<br />
* [[PostgreSQL_Conference_Europe_Talks_2013|PostgreSQL Conference Europe 2013]]<br />
* [[Postgres Open 2013]]<br />
* [[PGCon, Ottawa 2013]]<br />
* [[PGDay_NYC_2013_Talks|PGDay NYC 2013]]<br />
* [[FOSDEM_2013|FOSDEM, Brussels 2013]]<br />
* [[PGDay_Argentina_2012|PgDay Argentina 2012]]<br />
* [[PostgreSQL_Conference_Europe_Talks_2012|PostgreSQL Conference Europe 2012]]<br />
* [[Postgres Open 2012]]<br />
* [[German-Speaking PostgreSQL Conference 2011|PGConf.DE 2011]]<br />
* [[PGBR 2011, São Paulo]]<br />
* [[PostgreSQL_Conference_Europe_Talks_2011|PostgreSQL Conference Europe 2011]]<br />
* [[Postgres_Open_Talks_2011|Postgres Open 2011]]<br />
* [[FOSDEM, Brussels 2010]]<br />
* [[PGDay.EU, Paris 2009]]<br />
* [[PGCon, Ottawa 2009]]<br />
* [[FOSDEM, Brussels 2009]]<br />
* [http://www.arpug.com.ar/trac/wiki/PgDay2008 PgDay 2008 Rio de la Plata (Argentina)]<br />
* [[European PGDay 2008]]<br />
* [[Netways Nagios Conference 2008]]<br />
* [[FrOSCon, St. Augustin (near Bonn, Germany) 2008]]<br />
* [[PostgreSQLConferenceWest2008]]<br />
* [[PG UK 2008]]<br />
* [[FOSDEM, Brussels 2008]]<br />
* [http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008 PGCon Brazil 2008]<br />
* [http://postgresql.org.br/Palestras_do_PGCon_Brasil_2007 PGCon Brazil 2007]<br />
* [[OSCon 2005]]<br />
* [[OSCon 2004]]<br />
* [[:Image:NUUG2005.pdf|NUUG 2005]]<br />
* [http://momjian.us/main/writings/computer.html Bruce Momjian Presentations]<br />
* [[PUG_Presentations]]<br />
* [http://www.postgresql.org/developer/coding PostgreSQL Coding]<br />
<br />
[[Category:Community]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Nordic_PGDay_2015&diff=24374Nordic PGDay 20152015-03-12T16:24:18Z<p>Dim: /* Talks: Wednesday, March 11th, 2015 */</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: http://www.postgresql.eu/events/schedule/nordicpgday2015/<br />
<br />
== Talks: Wednesday, March 11th, 2015 ==<br />
<br />
* [http://www.slideshare.net/MarkusWinand/modern-sql Modern SQL in PostgreSQL], Markus Winand<br />
* [http://andreas.scherbaum.la/writings/PostgreSQL_ArcGIS_OpenStreetMap_2015-03-11.pdf Enrich your data with geocoordinates from OpenStreetMap or ArcGIS], Andreas Scherbaum<br />
* [http://hlinnaka.iki.fi/presentations/NordicPGDay2015-pg_rewind.pdf pg_rewind - resynchronizing servers after failover], Heikki Linnakangas<br />
* Fixing Nightmare Queries, Christophe Pettus<br />
* [http://www.hagander.net/talks/secure_postgresql_deployment.pdf Secure PostgreSQL Deployments], Magnus Hagander<br />
* [http://tapoueh.org/images/confs/NordicPGDAY_2015.pdf PostgreSQL for Developers], [http://tapoueh.org/ Dimitri Fontaine]<br />
* Joining 1 million tables, Hans-Jürgen Schönig</div>Dimhttps://wiki.postgresql.org/index.php?title=FOSDEM_2015&diff=24226FOSDEM 20152015-02-09T10:05:03Z<p>Dim: /* PostgreSQL FOSDEM Devroom */</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: http://www.postgresql.eu/events/schedule/fosdem2015/<br />
<br />
== PGDay FOSDEM 2015 ==<br />
<br />
We are also organizing one-day event: http://fosdem2015.pgconf.eu/<br />
<br />
== Talks: Friday, January 30th, 2015 ==<br />
<br />
=== Marriott ===<br />
<br />
* Welcome (Magnus Hagander)<br />
* Managing Resources with PostgreSQL (Cédric Villemain)<br />
* Identifying missing indexes (Julien Rouhaud)<br />
* Writing a Logical Decoding Output Plugin (Christophe Pettus) [[File:Fosdem-2015-logical-decoding.pdf]]<br />
* Enrich your data with geocoordinates from OpenStreetMap or ArcGIS (Andreas Scherbaum)<br />
* Temporal data and time travel (Peter Vanroose) [[File:Fosdem20150130PostgresqlTemporal.pdf]]<br />
* [http://tapoueh.org/blog/2015/02/09-back-from-fosdem-2015 Migrating to PostgreSQL, the new story] (Dimitri Fontaine)<br />
* [[Media:pgday-brussels-2015-pg_shard.pdf|Scaling out PostgreSQL for write-intensive workloads]] (Marco Slot)<br />
<br />
[[Media:PGDay-2014 2014-01-31.odp|Projector Presentation (Friday, January 31st, 2014)]]<br />
<br />
== Talks: Saturday, January 31st, 2015 ==<br />
<br />
=== PostgreSQL FOSDEM Devroom ===<br />
<br />
* [http://tapoueh.org/blog/2015/02/09-back-from-fosdem-2015 You'd better have tested backups...] (Dimitri Fontaine)<br />
* [[Media:FOSDEM-2015-New-WAL-format.pdf|New WAL record format in PostgreSQL 9.5]] (Heikki Linnakangas)<br />
* JSON and PostgreSQL, the State of the Art (Christophe Pettus) http://thebuild.com/presentations/fosdem-2015-json.pdf<br />
* Foreign Data Wrappers in PostgreSQL : Where are we now ? (Ronan Dunklau)<br />
* [http://www.slideshare.net/MarkusWinand/modern-sql Modern SQL in PostgreSQL (Markus Winand)]<br />
* [http://www.df7cb.de/projects/talks/2015-FOSDEM/large-scale-qa.pdf Large Scale Quality Assurance in the PostgreSQL Ecosystem (Christoph Berg)]<br />
<br />
Speakers: please upload your slides to the wiki and add a link above.<br />
<br />
[[Category:PostgreSQL Events]]</div>Dimhttps://wiki.postgresql.org/index.php?title=FOSDEM_2015&diff=24225FOSDEM 20152015-02-09T10:04:45Z<p>Dim: /* Marriott */</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: http://www.postgresql.eu/events/schedule/fosdem2015/<br />
<br />
== PGDay FOSDEM 2015 ==<br />
<br />
We are also organizing one-day event: http://fosdem2015.pgconf.eu/<br />
<br />
== Talks: Friday, January 30th, 2015 ==<br />
<br />
=== Marriott ===<br />
<br />
* Welcome (Magnus Hagander)<br />
* Managing Resources with PostgreSQL (Cédric Villemain)<br />
* Identifying missing indexes (Julien Rouhaud)<br />
* Writing a Logical Decoding Output Plugin (Christophe Pettus) [[File:Fosdem-2015-logical-decoding.pdf]]<br />
* Enrich your data with geocoordinates from OpenStreetMap or ArcGIS (Andreas Scherbaum)<br />
* Temporal data and time travel (Peter Vanroose) [[File:Fosdem20150130PostgresqlTemporal.pdf]]<br />
* [http://tapoueh.org/blog/2015/02/09-back-from-fosdem-2015 Migrating to PostgreSQL, the new story] (Dimitri Fontaine)<br />
* [[Media:pgday-brussels-2015-pg_shard.pdf|Scaling out PostgreSQL for write-intensive workloads]] (Marco Slot)<br />
<br />
[[Media:PGDay-2014 2014-01-31.odp|Projector Presentation (Friday, January 31st, 2014)]]<br />
<br />
== Talks: Saturday, January 31st, 2015 ==<br />
<br />
=== PostgreSQL FOSDEM Devroom ===<br />
<br />
* You'd better have tested backups... (Dimitri Fontaine)<br />
* [[Media:FOSDEM-2015-New-WAL-format.pdf|New WAL record format in PostgreSQL 9.5]] (Heikki Linnakangas)<br />
* JSON and PostgreSQL, the State of the Art (Christophe Pettus) http://thebuild.com/presentations/fosdem-2015-json.pdf<br />
* Foreign Data Wrappers in PostgreSQL : Where are we now ? (Ronan Dunklau)<br />
* [http://www.slideshare.net/MarkusWinand/modern-sql Modern SQL in PostgreSQL (Markus Winand)]<br />
* [http://www.df7cb.de/projects/talks/2015-FOSDEM/large-scale-qa.pdf Large Scale Quality Assurance in the PostgreSQL Ecosystem (Christoph Berg)]<br />
<br />
Speakers: please upload your slides to the wiki and add a link above.<br />
<br />
[[Category:PostgreSQL Events]]</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2014&diff=23654PostgreSQL Conference Europe Talks 20142014-10-29T10:17:08Z<p>Dim: /* Lightning Talks */</p>
<hr />
<div>= PostgreSQL Conference Europe 2014 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2014.pgconf.eu/<br />
<br />
== Trainings: Tuesday 21st October, 2014 ==<br />
<br />
=== Medici II ===<br />
<br />
* Rendimiento: el bueno, el malo y el feo, Álvaro Herrera<br />
<br />
=== Medici III ===<br />
<br />
* [http://www.joeconway.com/presentations/migrating-pgconf.eu.2014.pdf Migration to PostgreSQL], Joe Conway, Michael Meskes<br />
* PostgreSQL and Java, Alvaro Hernandez<br />
<br />
=== Renacimiento I ===<br />
<br />
* Data analysis, Hans-Jürgen Schönig<br />
* [https://wiki.postgresql.org/images/d/de/NoSQL_training_-_pgconf.eu.pdf NoSQL on Acid – Maximizing Results with JSONB and PostgreSQL], Bruce Momjian, Thom Brown<br />
<br />
=== Florencia II ===<br />
<br />
* PostgreSQL Backups, Replication & Disaster Recovery, Simon Riggs<br />
<br />
== Talks: Wednesday 22nd October, 2014 ==<br />
<br />
=== Keynote ===<br />
<br />
* Not Only NoSQL: A Case for NoSQL + PostgreSQL in a Big Data World, Matt Asay<br />
<br />
=== Medici I ===<br />
<br />
* [https://docs.google.com/presentation/d/1TV0bExFwVy-_d6C7A8Z2JL9Z9tvtkuZv3D58fkC3GWQ/edit?usp=sharing ALTER DATABASE ADD SANITY (google presentation)], Alexey Klyukin<br />
<br />
* [http://www.hagander.net/talks/postgresql94_2.pdf What's new in PostgreSQL 9.4], Magnus Hagander<br />
<br />
* [http://www.joeconway.com/presentations/test-pres-pgconf.eu.2014.pdf Who's the Fairest of Them All? Postgres Interface Performance], Joe Conway<br />
<br />
* [http://momjian.us/main/presentations/overview.html#scaling Postgres Scaling Opportunities], Bruce Momjian<br />
<br />
* Row Level Security, Stephen Frost<br />
<br />
* [https://s3.amazonaws.com/presentations.citusdata.com/cstore_fdw-pgconfeu-2014.pdf cstore_fdw, a columnar store for PostgreSQL] Ben Redman<br />
<br />
=== Medici III (Spanish track) ===<br />
<br />
* [http://folk.uio.no/rafael/pgconfeu2014/el_guardian_del_tesoro_pgconfeu2014.pdf El guardian del tesoro / The Guardian Of The Treasure], Rafael Martinez Guerrero<br />
<br />
* Desmitificando la búsqueda de Postgresql, Javier ramirez<br />
<br />
* [http://www.slideshare.net/ae_bm/postgres-40626330 Experiencias con PostgreSQL en AWS], Alejandro E. Brito Monedero<br />
<br />
* Características para Inteligencia de Negocios en Postgres, Álvaro Herrera<br />
<br />
* Almacenamiento de archivos en PostgreSQL: pros y contras, Martín Marqués<br />
<br />
* Domando a la bestia "replicación", Jaime Casanova<br />
<br />
=== Renacimiento I ===<br />
<br />
* [[Media: Autovacuum_pgconfeu_gorthx.pdf|(Auto)Vacuum and You]], Gabrielle Roth<br />
<br />
* [[Media: Performance-archaeology.pdf|Performance Archaeology]] ([[#http://www.slideshare.net/fuzzycz/performance-archaeology-40583681|slideshare]]), Tomas Vondra<br />
<br />
* [[Media: Udr-pgconf.pdf|UDR - Uni Directional Replication]], Petr Jelinek<br />
<br />
* [http://www.dalibo.org/_media/opm_talk_en.pdf OPM - Open PostgreSQL Monitoring], Jean-Paul Argudo and Julien Rouhaud<br />
<br />
* Choosing the right filesystem for PostgreSQL, Devrim GÜNDÜZ<br />
<br />
* [http://tapoueh.org/images/confs/PGCONF_EU_2014_backups.pdf You'd better have tested backups...], [http://tapoueh.org/confs Dimitri Fontaine]<br />
<br />
== Talks: Thursday 23 October, 2014 ==<br />
<br />
=== Medici I ===<br />
<br />
* CartoDB: Empowering dynamic mapping with PostgreSQL, Alejandro Martínez<br />
<br />
* [http://michael.otacoo.com/content/materials/20140919_pgopen_logirep.pdf Understanding logical decoding and replication], Michael Paquier<br />
<br />
* [http://momjian.us/main/presentations/features.html#indexing Flexible Indexing with Postgres], Bruce Momjian<br />
<br />
* [http://gianni.people.2ndquadrant.com/home/formalising-sql-in-higher-order-logic Formalising SQL in Higher-Order Logic], Gianni Ciolli, Marco Maggesi<br />
<br />
* Locks unpicked, Álvaro Herrera, Simon Riggs<br />
<br />
* Analytical PostgreSQL -- Ordered set aggregates and Grouping Sets, Atri Sharma<br />
<br />
=== Medici III ===<br />
<br />
* [http://gauss.credativ.com/~mme/2014/PGConf_EU_2014_V01.pdf Open Source - A Blessing Or A Curse?], Michael Meskes<br />
<br />
* [https://github.com/Oslandia/presentations/raw/master/pgconf_eu_2014/postgis_latest_news_vincent_picavet.pdf PostGIS Latest News], Vincent Picavet<br />
<br />
* [https://cloud.cosmos.esa.int/public.php?service=files&t=f5b1a1a950c6fffd10d164f3e42725cd&download Ruling the Galaxy with PostgreSQL: Stories from the ESA Gaia Archive], Juan Gonzalez Nunez<br />
<br />
* [http://www.cybertec.at/wp-content/uploads/1million.pdf Joining 1 million tables], Hans-Jürgen Schönig<br />
<br />
* [http://www.slideshare.net/jim_mlodgenski/postrgesql-hadoop Leveraging Hadoop In Your PostgreSQL Environment], Jim Mlodgenski<br />
<br />
* How we fixed bugs and rescued data, Harald Armin Massa<br />
<br />
=== Renacimiento I ===<br />
<br />
* [http://tapoueh.org/images/confs/PGCONF_EU_2014_pgloader.pdf Loading data in PostgreSQL, Fast. Any Data.], [http://tapoueh.org/ Dimitri Fontaine]<br />
<br />
* Advanced Authentication, Stephen Frost<br />
<br />
* [http://thebuild.com/presentations/corruption-pgconfeu-2014.pdf Finding and Repairing Data Corruption], Christophe Pettus<br />
<br />
* Scaling fashionably: From Startup to Scale at Zalando, Valentine Gogichashvili<br />
<br />
* [https://docs.google.com/presentation/d/1luiaBwulBJoubwpGxrbOabXOvIgx1chG-up_8FPV5lo/edit?usp=sharing| PgObserver - a full-blown performance monitoring tool], Kaarel Moppel<br />
<br />
* [https://speakerdeck.com/lfittl/advanced-pg-stat-statements-filtering-regression-testing-and-more Advanced Use of pg_stat_statements: Filtering, Regression Testing & more], Lukas Fittl<br />
<br />
=== Lightning Talks ===<br />
<br />
* [http://tapoueh.org/images/confs/PGCONF_EU_2014_pgcharts.pdf Turn your SQL query into Charts], [http://tapoueh.org Dimitri Fontaine]<br />
* [https://drive.google.com/file/d/0B-SFRgngatN_alhyWmZDdHRFcjQ/view?usp=sharing map()/reduce() with PostgreSQL + PL/Proxy], Ernst-Georg Schmid<br />
<br />
* [https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/files postgresql-common for Red Hat], Jens Wilke<br />
<br />
* [https://perdomo.me/presentations/Immutable-DB.pdf A quest for an Immutable DB], Iván Perdomo<br />
<br />
* [[Media: Pgpass_pgconfeu_groth.pdf|Adventures in Ridiculous Benchmarking: pgpass]], Gabrielle Roth<br />
<br />
== Talks: Friday 24 October, 2014 ==<br />
<br />
=== Medici I ===<br />
<br />
* [https://github.com/Su-Shee/talks Database Unit Testing with PgTAP], Susanne Schmidt<br />
<br />
* Common difficulties for new PostgreSQL users - and what we can do about them, Craig Ringer<br />
<br />
* Hacking PostgreSQL, Stephen Frost<br />
<br />
* [https://github.com/akorotkov/talks/raw/master/pgconfeu-2014-jsquery.pdf Jsquery - the jsonb query language with GIN indexing support], Alexander Korotkov<br />
<br />
=== Medici III ===<br />
<br />
* [http://www.slideshare.net/oseemann/scaling-a-saas-backend-with-postgresql-a-case-study Scaling a SaaS backend with PostgreSQL], Oliver Seemann<br />
<br />
* [https://wiki.postgresql.org/wiki/File:RDS_EUPostgres2014_final.pptx Amazon RDS for PostgreSQL], Grant McAlister<br />
<br />
* ToroDB: a new, open-source, document-oriented, JSON database, built on Postgres, Alvaro Hernandez<br />
<br />
* Submitting a proper Postgres bug report, Jon Erdman<br />
<br />
=== Renaciemiento I ===<br />
<br />
* [http://andres.people.2ndquadrant.com/pgconf-eu-2014-10-23/bdr.pdf BDR - Asynchronous multimaster for postgres], Andres Freund<br />
<br />
* [http://thebuild.com/presentations/backups-pgconfeu-2014.pdf Be Very Afraid: Disaster Planning and Recovery], Christophe Pettus<br />
<br />
* [http://gianni.people.2ndquadrant.com/home/logical-decoding-for-auditing Logical Decoding for Auditing], Gianni Ciolli<br />
<br />
* walbouncer: Filtering the PostgreSQL transaction log, Hans-Jürgen Schönig<br />
<br />
=== Keynotes ===<br />
<br />
* NoSQL on Acid – Maximizing Results With JSONB And PostgreSQL, Keith Alsheimer<br />
<br />
* PostgreSQL Odyssey at 88mph, Simon Riggs<br />
<br />
* [https://github.com/trustly/keynotes/raw/master/PgConf%202014%20Trustly.pdf How we use PostgreSQL at Trustly], Joel Jacobson<br />
<br />
* Closing Session, Dave Page, Magnus Hagander</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2014&diff=23653PostgreSQL Conference Europe Talks 20142014-10-29T10:16:27Z<p>Dim: /* Renacimiento I */</p>
<hr />
<div>= PostgreSQL Conference Europe 2014 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2014.pgconf.eu/<br />
<br />
== Trainings: Tuesday 21st October, 2014 ==<br />
<br />
=== Medici II ===<br />
<br />
* Rendimiento: el bueno, el malo y el feo, Álvaro Herrera<br />
<br />
=== Medici III ===<br />
<br />
* [http://www.joeconway.com/presentations/migrating-pgconf.eu.2014.pdf Migration to PostgreSQL], Joe Conway, Michael Meskes<br />
* PostgreSQL and Java, Alvaro Hernandez<br />
<br />
=== Renacimiento I ===<br />
<br />
* Data analysis, Hans-Jürgen Schönig<br />
* [https://wiki.postgresql.org/images/d/de/NoSQL_training_-_pgconf.eu.pdf NoSQL on Acid – Maximizing Results with JSONB and PostgreSQL], Bruce Momjian, Thom Brown<br />
<br />
=== Florencia II ===<br />
<br />
* PostgreSQL Backups, Replication & Disaster Recovery, Simon Riggs<br />
<br />
== Talks: Wednesday 22nd October, 2014 ==<br />
<br />
=== Keynote ===<br />
<br />
* Not Only NoSQL: A Case for NoSQL + PostgreSQL in a Big Data World, Matt Asay<br />
<br />
=== Medici I ===<br />
<br />
* [https://docs.google.com/presentation/d/1TV0bExFwVy-_d6C7A8Z2JL9Z9tvtkuZv3D58fkC3GWQ/edit?usp=sharing ALTER DATABASE ADD SANITY (google presentation)], Alexey Klyukin<br />
<br />
* [http://www.hagander.net/talks/postgresql94_2.pdf What's new in PostgreSQL 9.4], Magnus Hagander<br />
<br />
* [http://www.joeconway.com/presentations/test-pres-pgconf.eu.2014.pdf Who's the Fairest of Them All? Postgres Interface Performance], Joe Conway<br />
<br />
* [http://momjian.us/main/presentations/overview.html#scaling Postgres Scaling Opportunities], Bruce Momjian<br />
<br />
* Row Level Security, Stephen Frost<br />
<br />
* [https://s3.amazonaws.com/presentations.citusdata.com/cstore_fdw-pgconfeu-2014.pdf cstore_fdw, a columnar store for PostgreSQL] Ben Redman<br />
<br />
=== Medici III (Spanish track) ===<br />
<br />
* [http://folk.uio.no/rafael/pgconfeu2014/el_guardian_del_tesoro_pgconfeu2014.pdf El guardian del tesoro / The Guardian Of The Treasure], Rafael Martinez Guerrero<br />
<br />
* Desmitificando la búsqueda de Postgresql, Javier ramirez<br />
<br />
* [http://www.slideshare.net/ae_bm/postgres-40626330 Experiencias con PostgreSQL en AWS], Alejandro E. Brito Monedero<br />
<br />
* Características para Inteligencia de Negocios en Postgres, Álvaro Herrera<br />
<br />
* Almacenamiento de archivos en PostgreSQL: pros y contras, Martín Marqués<br />
<br />
* Domando a la bestia "replicación", Jaime Casanova<br />
<br />
=== Renacimiento I ===<br />
<br />
* [[Media: Autovacuum_pgconfeu_gorthx.pdf|(Auto)Vacuum and You]], Gabrielle Roth<br />
<br />
* [[Media: Performance-archaeology.pdf|Performance Archaeology]] ([[#http://www.slideshare.net/fuzzycz/performance-archaeology-40583681|slideshare]]), Tomas Vondra<br />
<br />
* [[Media: Udr-pgconf.pdf|UDR - Uni Directional Replication]], Petr Jelinek<br />
<br />
* [http://www.dalibo.org/_media/opm_talk_en.pdf OPM - Open PostgreSQL Monitoring], Jean-Paul Argudo and Julien Rouhaud<br />
<br />
* Choosing the right filesystem for PostgreSQL, Devrim GÜNDÜZ<br />
<br />
* [http://tapoueh.org/images/confs/PGCONF_EU_2014_backups.pdf You'd better have tested backups...], [http://tapoueh.org/confs Dimitri Fontaine]<br />
<br />
== Talks: Thursday 23 October, 2014 ==<br />
<br />
=== Medici I ===<br />
<br />
* CartoDB: Empowering dynamic mapping with PostgreSQL, Alejandro Martínez<br />
<br />
* [http://michael.otacoo.com/content/materials/20140919_pgopen_logirep.pdf Understanding logical decoding and replication], Michael Paquier<br />
<br />
* [http://momjian.us/main/presentations/features.html#indexing Flexible Indexing with Postgres], Bruce Momjian<br />
<br />
* [http://gianni.people.2ndquadrant.com/home/formalising-sql-in-higher-order-logic Formalising SQL in Higher-Order Logic], Gianni Ciolli, Marco Maggesi<br />
<br />
* Locks unpicked, Álvaro Herrera, Simon Riggs<br />
<br />
* Analytical PostgreSQL -- Ordered set aggregates and Grouping Sets, Atri Sharma<br />
<br />
=== Medici III ===<br />
<br />
* [http://gauss.credativ.com/~mme/2014/PGConf_EU_2014_V01.pdf Open Source - A Blessing Or A Curse?], Michael Meskes<br />
<br />
* [https://github.com/Oslandia/presentations/raw/master/pgconf_eu_2014/postgis_latest_news_vincent_picavet.pdf PostGIS Latest News], Vincent Picavet<br />
<br />
* [https://cloud.cosmos.esa.int/public.php?service=files&t=f5b1a1a950c6fffd10d164f3e42725cd&download Ruling the Galaxy with PostgreSQL: Stories from the ESA Gaia Archive], Juan Gonzalez Nunez<br />
<br />
* [http://www.cybertec.at/wp-content/uploads/1million.pdf Joining 1 million tables], Hans-Jürgen Schönig<br />
<br />
* [http://www.slideshare.net/jim_mlodgenski/postrgesql-hadoop Leveraging Hadoop In Your PostgreSQL Environment], Jim Mlodgenski<br />
<br />
* How we fixed bugs and rescued data, Harald Armin Massa<br />
<br />
=== Renacimiento I ===<br />
<br />
* [http://tapoueh.org/images/confs/PGCONF_EU_2014_pgloader.pdf Loading data in PostgreSQL, Fast. Any Data.], [http://tapoueh.org/ Dimitri Fontaine]<br />
<br />
* Advanced Authentication, Stephen Frost<br />
<br />
* [http://thebuild.com/presentations/corruption-pgconfeu-2014.pdf Finding and Repairing Data Corruption], Christophe Pettus<br />
<br />
* Scaling fashionably: From Startup to Scale at Zalando, Valentine Gogichashvili<br />
<br />
* [https://docs.google.com/presentation/d/1luiaBwulBJoubwpGxrbOabXOvIgx1chG-up_8FPV5lo/edit?usp=sharing| PgObserver - a full-blown performance monitoring tool], Kaarel Moppel<br />
<br />
* [https://speakerdeck.com/lfittl/advanced-pg-stat-statements-filtering-regression-testing-and-more Advanced Use of pg_stat_statements: Filtering, Regression Testing & more], Lukas Fittl<br />
<br />
=== Lightning Talks ===<br />
<br />
* [https://drive.google.com/file/d/0B-SFRgngatN_alhyWmZDdHRFcjQ/view?usp=sharing map()/reduce() with PostgreSQL + PL/Proxy], Ernst-Georg Schmid<br />
<br />
* [https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/files postgresql-common for Red Hat], Jens Wilke<br />
<br />
* [https://perdomo.me/presentations/Immutable-DB.pdf A quest for an Immutable DB], Iván Perdomo<br />
<br />
* [[Media: Pgpass_pgconfeu_groth.pdf|Adventures in Ridiculous Benchmarking: pgpass]], Gabrielle Roth<br />
<br />
== Talks: Friday 24 October, 2014 ==<br />
<br />
=== Medici I ===<br />
<br />
* [https://github.com/Su-Shee/talks Database Unit Testing with PgTAP], Susanne Schmidt<br />
<br />
* Common difficulties for new PostgreSQL users - and what we can do about them, Craig Ringer<br />
<br />
* Hacking PostgreSQL, Stephen Frost<br />
<br />
* [https://github.com/akorotkov/talks/raw/master/pgconfeu-2014-jsquery.pdf Jsquery - the jsonb query language with GIN indexing support], Alexander Korotkov<br />
<br />
=== Medici III ===<br />
<br />
* [http://www.slideshare.net/oseemann/scaling-a-saas-backend-with-postgresql-a-case-study Scaling a SaaS backend with PostgreSQL], Oliver Seemann<br />
<br />
* [https://wiki.postgresql.org/wiki/File:RDS_EUPostgres2014_final.pptx Amazon RDS for PostgreSQL], Grant McAlister<br />
<br />
* ToroDB: a new, open-source, document-oriented, JSON database, built on Postgres, Alvaro Hernandez<br />
<br />
* Submitting a proper Postgres bug report, Jon Erdman<br />
<br />
=== Renaciemiento I ===<br />
<br />
* [http://andres.people.2ndquadrant.com/pgconf-eu-2014-10-23/bdr.pdf BDR - Asynchronous multimaster for postgres], Andres Freund<br />
<br />
* [http://thebuild.com/presentations/backups-pgconfeu-2014.pdf Be Very Afraid: Disaster Planning and Recovery], Christophe Pettus<br />
<br />
* [http://gianni.people.2ndquadrant.com/home/logical-decoding-for-auditing Logical Decoding for Auditing], Gianni Ciolli<br />
<br />
* walbouncer: Filtering the PostgreSQL transaction log, Hans-Jürgen Schönig<br />
<br />
=== Keynotes ===<br />
<br />
* NoSQL on Acid – Maximizing Results With JSONB And PostgreSQL, Keith Alsheimer<br />
<br />
* PostgreSQL Odyssey at 88mph, Simon Riggs<br />
<br />
* [https://github.com/trustly/keynotes/raw/master/PgConf%202014%20Trustly.pdf How we use PostgreSQL at Trustly], Joel Jacobson<br />
<br />
* Closing Session, Dave Page, Magnus Hagander</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2014&diff=23652PostgreSQL Conference Europe Talks 20142014-10-29T10:15:41Z<p>Dim: /* Renacimiento I */</p>
<hr />
<div>= PostgreSQL Conference Europe 2014 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2014.pgconf.eu/<br />
<br />
== Trainings: Tuesday 21st October, 2014 ==<br />
<br />
=== Medici II ===<br />
<br />
* Rendimiento: el bueno, el malo y el feo, Álvaro Herrera<br />
<br />
=== Medici III ===<br />
<br />
* [http://www.joeconway.com/presentations/migrating-pgconf.eu.2014.pdf Migration to PostgreSQL], Joe Conway, Michael Meskes<br />
* PostgreSQL and Java, Alvaro Hernandez<br />
<br />
=== Renacimiento I ===<br />
<br />
* Data analysis, Hans-Jürgen Schönig<br />
* [https://wiki.postgresql.org/images/d/de/NoSQL_training_-_pgconf.eu.pdf NoSQL on Acid – Maximizing Results with JSONB and PostgreSQL], Bruce Momjian, Thom Brown<br />
<br />
=== Florencia II ===<br />
<br />
* PostgreSQL Backups, Replication & Disaster Recovery, Simon Riggs<br />
<br />
== Talks: Wednesday 22nd October, 2014 ==<br />
<br />
=== Keynote ===<br />
<br />
* Not Only NoSQL: A Case for NoSQL + PostgreSQL in a Big Data World, Matt Asay<br />
<br />
=== Medici I ===<br />
<br />
* [https://docs.google.com/presentation/d/1TV0bExFwVy-_d6C7A8Z2JL9Z9tvtkuZv3D58fkC3GWQ/edit?usp=sharing ALTER DATABASE ADD SANITY (google presentation)], Alexey Klyukin<br />
<br />
* [http://www.hagander.net/talks/postgresql94_2.pdf What's new in PostgreSQL 9.4], Magnus Hagander<br />
<br />
* [http://www.joeconway.com/presentations/test-pres-pgconf.eu.2014.pdf Who's the Fairest of Them All? Postgres Interface Performance], Joe Conway<br />
<br />
* [http://momjian.us/main/presentations/overview.html#scaling Postgres Scaling Opportunities], Bruce Momjian<br />
<br />
* Row Level Security, Stephen Frost<br />
<br />
* [https://s3.amazonaws.com/presentations.citusdata.com/cstore_fdw-pgconfeu-2014.pdf cstore_fdw, a columnar store for PostgreSQL] Ben Redman<br />
<br />
=== Medici III (Spanish track) ===<br />
<br />
* [http://folk.uio.no/rafael/pgconfeu2014/el_guardian_del_tesoro_pgconfeu2014.pdf El guardian del tesoro / The Guardian Of The Treasure], Rafael Martinez Guerrero<br />
<br />
* Desmitificando la búsqueda de Postgresql, Javier ramirez<br />
<br />
* [http://www.slideshare.net/ae_bm/postgres-40626330 Experiencias con PostgreSQL en AWS], Alejandro E. Brito Monedero<br />
<br />
* Características para Inteligencia de Negocios en Postgres, Álvaro Herrera<br />
<br />
* Almacenamiento de archivos en PostgreSQL: pros y contras, Martín Marqués<br />
<br />
* Domando a la bestia "replicación", Jaime Casanova<br />
<br />
=== Renacimiento I ===<br />
<br />
* [[Media: Autovacuum_pgconfeu_gorthx.pdf|(Auto)Vacuum and You]], Gabrielle Roth<br />
<br />
* [[Media: Performance-archaeology.pdf|Performance Archaeology]] ([[#http://www.slideshare.net/fuzzycz/performance-archaeology-40583681|slideshare]]), Tomas Vondra<br />
<br />
* [[Media: Udr-pgconf.pdf|UDR - Uni Directional Replication]], Petr Jelinek<br />
<br />
* [http://www.dalibo.org/_media/opm_talk_en.pdf OPM - Open PostgreSQL Monitoring], Jean-Paul Argudo and Julien Rouhaud<br />
<br />
* Choosing the right filesystem for PostgreSQL, Devrim GÜNDÜZ<br />
<br />
* [http://tapoueh.org/images/confs/PGCONF_EU_2014_backups.pdf You'd better have tested backups...], [http://tapoueh.org/confs Dimitri Fontaine]<br />
<br />
== Talks: Thursday 23 October, 2014 ==<br />
<br />
=== Medici I ===<br />
<br />
* CartoDB: Empowering dynamic mapping with PostgreSQL, Alejandro Martínez<br />
<br />
* [http://michael.otacoo.com/content/materials/20140919_pgopen_logirep.pdf Understanding logical decoding and replication], Michael Paquier<br />
<br />
* [http://momjian.us/main/presentations/features.html#indexing Flexible Indexing with Postgres], Bruce Momjian<br />
<br />
* [http://gianni.people.2ndquadrant.com/home/formalising-sql-in-higher-order-logic Formalising SQL in Higher-Order Logic], Gianni Ciolli, Marco Maggesi<br />
<br />
* Locks unpicked, Álvaro Herrera, Simon Riggs<br />
<br />
* Analytical PostgreSQL -- Ordered set aggregates and Grouping Sets, Atri Sharma<br />
<br />
=== Medici III ===<br />
<br />
* [http://gauss.credativ.com/~mme/2014/PGConf_EU_2014_V01.pdf Open Source - A Blessing Or A Curse?], Michael Meskes<br />
<br />
* [https://github.com/Oslandia/presentations/raw/master/pgconf_eu_2014/postgis_latest_news_vincent_picavet.pdf PostGIS Latest News], Vincent Picavet<br />
<br />
* [https://cloud.cosmos.esa.int/public.php?service=files&t=f5b1a1a950c6fffd10d164f3e42725cd&download Ruling the Galaxy with PostgreSQL: Stories from the ESA Gaia Archive], Juan Gonzalez Nunez<br />
<br />
* [http://www.cybertec.at/wp-content/uploads/1million.pdf Joining 1 million tables], Hans-Jürgen Schönig<br />
<br />
* [http://www.slideshare.net/jim_mlodgenski/postrgesql-hadoop Leveraging Hadoop In Your PostgreSQL Environment], Jim Mlodgenski<br />
<br />
* How we fixed bugs and rescued data, Harald Armin Massa<br />
<br />
=== Renacimiento I ===<br />
<br />
* Loading data in PostgreSQL, Fast. Any Data., Dimitri Fontaine<br />
<br />
* Advanced Authentication, Stephen Frost<br />
<br />
* [http://thebuild.com/presentations/corruption-pgconfeu-2014.pdf Finding and Repairing Data Corruption], Christophe Pettus<br />
<br />
* Scaling fashionably: From Startup to Scale at Zalando, Valentine Gogichashvili<br />
<br />
* [https://docs.google.com/presentation/d/1luiaBwulBJoubwpGxrbOabXOvIgx1chG-up_8FPV5lo/edit?usp=sharing| PgObserver - a full-blown performance monitoring tool], Kaarel Moppel<br />
<br />
* [https://speakerdeck.com/lfittl/advanced-pg-stat-statements-filtering-regression-testing-and-more Advanced Use of pg_stat_statements: Filtering, Regression Testing & more], Lukas Fittl<br />
<br />
=== Lightning Talks ===<br />
<br />
* [https://drive.google.com/file/d/0B-SFRgngatN_alhyWmZDdHRFcjQ/view?usp=sharing map()/reduce() with PostgreSQL + PL/Proxy], Ernst-Georg Schmid<br />
<br />
* [https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/files postgresql-common for Red Hat], Jens Wilke<br />
<br />
* [https://perdomo.me/presentations/Immutable-DB.pdf A quest for an Immutable DB], Iván Perdomo<br />
<br />
* [[Media: Pgpass_pgconfeu_groth.pdf|Adventures in Ridiculous Benchmarking: pgpass]], Gabrielle Roth<br />
<br />
== Talks: Friday 24 October, 2014 ==<br />
<br />
=== Medici I ===<br />
<br />
* [https://github.com/Su-Shee/talks Database Unit Testing with PgTAP], Susanne Schmidt<br />
<br />
* Common difficulties for new PostgreSQL users - and what we can do about them, Craig Ringer<br />
<br />
* Hacking PostgreSQL, Stephen Frost<br />
<br />
* [https://github.com/akorotkov/talks/raw/master/pgconfeu-2014-jsquery.pdf Jsquery - the jsonb query language with GIN indexing support], Alexander Korotkov<br />
<br />
=== Medici III ===<br />
<br />
* [http://www.slideshare.net/oseemann/scaling-a-saas-backend-with-postgresql-a-case-study Scaling a SaaS backend with PostgreSQL], Oliver Seemann<br />
<br />
* [https://wiki.postgresql.org/wiki/File:RDS_EUPostgres2014_final.pptx Amazon RDS for PostgreSQL], Grant McAlister<br />
<br />
* ToroDB: a new, open-source, document-oriented, JSON database, built on Postgres, Alvaro Hernandez<br />
<br />
* Submitting a proper Postgres bug report, Jon Erdman<br />
<br />
=== Renaciemiento I ===<br />
<br />
* [http://andres.people.2ndquadrant.com/pgconf-eu-2014-10-23/bdr.pdf BDR - Asynchronous multimaster for postgres], Andres Freund<br />
<br />
* [http://thebuild.com/presentations/backups-pgconfeu-2014.pdf Be Very Afraid: Disaster Planning and Recovery], Christophe Pettus<br />
<br />
* [http://gianni.people.2ndquadrant.com/home/logical-decoding-for-auditing Logical Decoding for Auditing], Gianni Ciolli<br />
<br />
* walbouncer: Filtering the PostgreSQL transaction log, Hans-Jürgen Schönig<br />
<br />
=== Keynotes ===<br />
<br />
* NoSQL on Acid – Maximizing Results With JSONB And PostgreSQL, Keith Alsheimer<br />
<br />
* PostgreSQL Odyssey at 88mph, Simon Riggs<br />
<br />
* [https://github.com/trustly/keynotes/raw/master/PgConf%202014%20Trustly.pdf How we use PostgreSQL at Trustly], Joel Jacobson<br />
<br />
* Closing Session, Dave Page, Magnus Hagander</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Meetup_Paris_2014_Sept&diff=23401PostgreSQL Meetup Paris 2014 Sept2014-10-09T22:19:16Z<p>Dim: </p>
<hr />
<div>[http://www.meetup.com/PostgreSQL-User-Group-Paris/events/209650432/ Le Meetup PostgreSQL à Paris] était intitulé : PostgreSQL : DBA et Développeurs enfin réunis.<br />
<br />
Nous avons eu le plaisir de suivre les quatre présentations suivantes :<br />
<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_Agregation_Temporelle.pdf Agrégation temporelle sous contrainte d'IOPS] par Jean-Gérard Pailloncy<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_PostgreSQL_-_Partitionnement.pdf Le partitionnement de tables démystifié], par Flavio Henrique Araque Gurgel<br />
* [https://wiki.postgresql.org/wiki/File:Powa_dalibo.pdf PoWA], par Thomas Reiss et Julien Rouhaud<br />
* [http://tapoueh.org/images/confs/PGDAY_NYC_2014.pdf PostgreSQL pour les développeurs], par [http://tapoueh.org/ Dimitri Fontaine]</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Meetup_Paris_2014_Sept&diff=23400PostgreSQL Meetup Paris 2014 Sept2014-10-09T22:19:05Z<p>Dim: </p>
<hr />
<div>[http://www.meetup.com/PostgreSQL-User-Group-Paris/events/209650432/|Le Meetup PostgreSQL à Paris] était intitulé : PostgreSQL : DBA et Développeurs enfin réunis.<br />
<br />
Nous avons eu le plaisir de suivre les quatre présentations suivantes :<br />
<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_Agregation_Temporelle.pdf Agrégation temporelle sous contrainte d'IOPS] par Jean-Gérard Pailloncy<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_PostgreSQL_-_Partitionnement.pdf Le partitionnement de tables démystifié], par Flavio Henrique Araque Gurgel<br />
* [https://wiki.postgresql.org/wiki/File:Powa_dalibo.pdf PoWA], par Thomas Reiss et Julien Rouhaud<br />
* [http://tapoueh.org/images/confs/PGDAY_NYC_2014.pdf PostgreSQL pour les développeurs], par [http://tapoueh.org/ Dimitri Fontaine]</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Meetup_Paris_2014_Sept&diff=23399PostgreSQL Meetup Paris 2014 Sept2014-10-09T22:18:07Z<p>Dim: </p>
<hr />
<div>[http://www.meetup.com/PostgreSQL-User-Group-Paris/events/209650432/|Le Meetup PostgreSQL à Paris] était intitulé : PostgreSQL : DBA et Développeurs enfin réunis.<br />
<br />
Nous avons eu le plaisir de suivre les quatre présentations suivantes :<br />
<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_Agregation_Temporelle.pdf| Agrégation temporelle sous contrainte d'IOPS] par Jean-Gérard Pailloncy<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_PostgreSQL_-_Partitionnement.pdf| Le partitionnement de tables démystifié], par Flavio Henrique Araque Gurgel<br />
* [https://wiki.postgresql.org/wiki/File:Powa_dalibo.pdf| PoWA], par Thomas Reiss et Julien Rouhaud<br />
* [http://tapoueh.org/images/confs/PGDAY_NYC_2014.pdf| PostgreSQL pour les développeurs], par [http://tapoueh.org/| Dimitri Fontaine]</div>Dimhttps://wiki.postgresql.org/index.php?title=File:Powa_dalibo.pdf&diff=23398File:Powa dalibo.pdf2014-10-09T22:17:09Z<p>Dim: PoWA, par Thomas Reiss et Julien Rouhaud</p>
<hr />
<div>PoWA, par Thomas Reiss et Julien Rouhaud</div>Dimhttps://wiki.postgresql.org/index.php?title=File:Meetup_PostgreSQL_-_Partitionnement.pdf&diff=23397File:Meetup PostgreSQL - Partitionnement.pdf2014-10-09T22:16:13Z<p>Dim: Le partitionnement de tables démystifié, par Flavio Henrique Araque Gurgel</p>
<hr />
<div>Le partitionnement de tables démystifié, par Flavio Henrique Araque Gurgel</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Meetup_Paris_2014_Sept&diff=23396PostgreSQL Meetup Paris 2014 Sept2014-10-09T22:15:05Z<p>Dim: </p>
<hr />
<div>[http://www.meetup.com/PostgreSQL-User-Group-Paris/events/209650432/|Le Meetup PostgreSQL à Paris] était intitulé : PostgreSQL : DBA et Développeurs enfin réunis.<br />
<br />
Nous avons eu le plaisir de suivre les quatre présentations suivantes :<br />
<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_Agregation_Temporelle.pdf| Agrégation temporelle sous contrainte d'IOPS] par Jean-Gérard Pailloncy</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Meetup_Paris_2014_Sept&diff=23395PostgreSQL Meetup Paris 2014 Sept2014-10-09T22:14:21Z<p>Dim: Created page with "[http://www.meetup.com/PostgreSQL-User-Group-Paris/events/209650432/] * [https://wiki.postgresql.org/wiki/File:Meetup_Agregation_Temporelle.pdf| Agrégation temporelle sous c..."</p>
<hr />
<div>[http://www.meetup.com/PostgreSQL-User-Group-Paris/events/209650432/]<br />
<br />
* [https://wiki.postgresql.org/wiki/File:Meetup_Agregation_Temporelle.pdf| Agrégation temporelle sous contrainte d'IOPS] par Jean-Gérard Pailloncy</div>Dimhttps://wiki.postgresql.org/index.php?title=File:Meetup_Agregation_Temporelle.pdf&diff=23394File:Meetup Agregation Temporelle.pdf2014-10-09T22:13:40Z<p>Dim: Aggregation Temporelle sous contrainte d'IOPS, par Jean-Gérard Pailloncy</p>
<hr />
<div>== Summary ==<br />
Aggregation Temporelle sous contrainte d'IOPS, par Jean-Gérard Pailloncy<br />
== Licensing ==<br />
{{The PostgreSQL Licence}}</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Related_Slides_and_Presentations&diff=23393PostgreSQL Related Slides and Presentations2014-10-09T22:11:33Z<p>Dim: </p>
<hr />
<div>Here you can find links to various PostgreSQL related presentations<br />
* [[PostgreSQL_Meetup_Paris_2014_Sept|PostgreSQL Meetup Paris, 2014-09-08]]<br />
* [[PGConf_NYC_2014_Talks|PGConf NYC 2014]]<br />
* [[Nordic_PGDay_2014|Nordic PGDay, Stockholm, 2014]]<br />
* [[PGDay_SCALE12x|PgDay SCALE 12x, 2014]]<br />
* [[FOSDEM_2014|FOSDEM, Brussels 2014]]<br />
* [[PGDay_Argentina_2013|PgDay Argentina 2013]]<br />
* [[German-Speaking PostgreSQL Conference 2013 | PGConf.DE 2013 - German-Speaking PostgreSQL Conference 2013]]<br />
* [[PostgreSQL_Conference_Europe_Talks_2013|PostgreSQL Conference Europe 2013]]<br />
* [[Postgres Open 2013]]<br />
* [[PGCon, Ottawa 2013]]<br />
* [[PGDay_NYC_2013_Talks|PGDay NYC 2013]]<br />
* [[FOSDEM_2013|FOSDEM, Brussels 2013]]<br />
* [[PGDay_Argentina_2012|PgDay Argentina 2012]]<br />
* [[PostgreSQL_Conference_Europe_Talks_2012|PostgreSQL Conference Europe 2012]]<br />
* [[Postgres Open 2012]]<br />
* [[German-Speaking PostgreSQL Conference 2011|PGConf.DE 2011]]<br />
* [[PGBR 2011, São Paulo]]<br />
* [[PostgreSQL_Conference_Europe_Talks_2011|PostgreSQL Conference Europe 2011]]<br />
* [[Postgres_Open_Talks_2011|Postgres Open 2011]]<br />
* [[FOSDEM, Brussels 2010]]<br />
* [[PGDay.EU, Paris 2009]]<br />
* [[PGCon, Ottawa 2009]]<br />
* [[FOSDEM, Brussels 2009]]<br />
* [http://www.arpug.com.ar/trac/wiki/PgDay2008 PgDay 2008 Rio de la Plata (Argentina)]<br />
* [[European PGDay 2008]]<br />
* [[Netways Nagios Conference 2008]]<br />
* [[FrOSCon, St. Augustin (near Bonn, Germany) 2008]]<br />
* [[PostgreSQLConferenceWest2008]]<br />
* [[PG UK 2008]]<br />
* [[FOSDEM, Brussels 2008]]<br />
* [http://postgresql.org.br/Palestras_do_PGCon_Brasil_2008 PGCon Brazil 2008]<br />
* [http://postgresql.org.br/Palestras_do_PGCon_Brasil_2007 PGCon Brazil 2007]<br />
* [[OSCon 2005]]<br />
* [[OSCon 2004]]<br />
* [[:Image:NUUG2005.pdf|NUUG 2005]]<br />
* [http://momjian.us/main/writings/computer.html Bruce Momjian Presentations]<br />
* [[PUG_Presentations]]<br />
* [http://www.postgresql.org/developer/coding PostgreSQL Coding]<br />
<br />
[[Category:Community]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Postgres_Open_2014&diff=23200Postgres Open 20142014-09-20T18:32:07Z<p>Dim: dim's slides</p>
<hr />
<div>Slides for talks will be linked here!<br />
<br />
Events shown for placeholding purposes. See the "Editing help" for instructions on how to add a link to your slides.<br />
<br />
== Wednesday September 17 (Tutorials) ==<br />
* Adv. SQL + Functions (Joe Conway, Stephen Frost)<br />
* PostGIS Introduction: Geometry, Geography, and Geocoding (Regina Obe, Leo Hsu)<br />
* PostGIS on caffeine: Raster, Topology, and pgRouting (Regina Obe, Leo Hsu)<br />
* Writing & Using Postgres Extensions ([http://tapoueh.org/ Dimitri Fontaine]) [http://tapoueh.org/images/confs/PostgresOpen_2014_Extension.pdf PostgresOpen_2014_Extension.pdf]<br />
* Using the Heroku Platform (Free) (Harold Giménez) ([https://speakerdeck.com/hgmnz/heroku-tutorial Slides])<br />
* NoSQL on ACID (Free) (Bruce Momjian)<br />
<br />
== Thursday September 18 ==<br />
* Sponsor Keynote (Marc Linster)<br />
<br />
* Explaining the Postgres Query Optimizer (Bruce Momjian)<br />
* Postgres in Amazon RDS (Denish Patel)<br />
* How Databases Work - For Developers, Accidental DBAs and Managers (Gurjeet Singh)<br />
<br />
* Scalability, Consistency, Replication, Availability and Performance (Simon Riggs)<br />
* The NoSQL Way In PostgreSQL (Vibhor Kumar)<br />
* So you're new to Postgres... (Michael Alan Brewer)<br />
<br />
* Who's the Fairest of Them All? Postgres Interface Performance (Joe Conway)<br />
* What's new in PostgreSQL 9.4 (Magnus Hagander)<br />
* Postgres on OpenStack (Dave Page)<br />
<br />
* Automated Performance Testing of Postgres (Greg Burek)<br />
* Survival analysis of customer retention using Postgres, SQL and R (Gleb Arshinov)<br />
* The Three Musketeers (Authentication, Authorization, and Accounting) (Sarah Conway)<br />
<br />
* On Beyond Data Types (Jonathan S. Katz)<br />
* Supersized Postgres: Postgres-XL for OLTP and Big Data Analytics (Mason Sharp)<br />
* [http://slides.com/danmcclain/postgresopen-2014 Use PostgreSQL, not Rails, to make Rails faster! (Dan McClain)]<br />
<br />
== Friday, September 19 ==<br />
<br />
* PostgreSQL Scale-Out at InMobi (Sivakumar)<br />
* Row-Estimation Revelation and the Monolithic Query Syndrome (Jeff Amiel)<br />
* Tales from the Postgres Front, and What We Can Learn (Marc Linster)<br />
<br />
* PostgreSQL for developers ([http://tapoueh.org Dimitri Fontaine]) [http://tapoueh.org/images/confs/PostgresOpen_2014_PostgreSQL_for_Developers.pdf PostgresOpen_2014_PostgreSQL_for_Developers.pdf]<br />
* Database Security and Audit Logging: User-Centered Security with JackDB (Sehrope Sarkuni)<br />
* Immutable Data in Postgres (Gary Sieling)<br />
<br />
* How VACUUM works, and what to do when it doesn't (Simon Riggs)<br />
* Heavy Duty Backup with PgBackRest (David Steele)<br />
* [https://www.dropbox.com/s/sgp2byhckm48izk/pgopen-2014-full-PDF.pdf Migrating away from MySQL for an awesome fulltext search] ([http://www.peterbe.com Peter Bengtsson])<br />
<br />
* PostgreSQL and Java: best practices (Álvaro Hernández)<br />
* [[Media:collectd-graphite.pdf|Collectd and Graphite: Monitoring PostgreSQL with Style]] (Shaun Thomas)<br />
* Columnar Store for PostgreSQL (Ben Redman)<br />
<br />
* Row Level Security (Stephen Frost)<br />
* Holistic Database Application Tuning – Factoring UDFs in an All-new Way Grant Evans, (Henrietta Dombrovskaya)<br />
* [http://tinyurl.com/frictionless-data-science Frictionless Data Science with Python] (Catherine Devlin)<br />
* [http://michael.otacoo.com/content/materials/20140919_pgopen_logirep.pdf Understanding logical decoding and replication] ([http://michael.otacoo.com/ Michael Paquier])<br />
* A Performance Comparison of Postgres on Different Storage Systems Dong Ye, Syed (Faisal Akber)<br />
* A Quantitative Look at Partitions (john melesky)<br />
<br />
*Sponsor Keynote (Simon Riggs)</div>Dimhttps://wiki.postgresql.org/index.php?title=Postgres_Open_2014&diff=23199Postgres Open 20142014-09-20T18:31:26Z<p>Dim: dim's slides</p>
<hr />
<div>Slides for talks will be linked here!<br />
<br />
Events shown for placeholding purposes. See the "Editing help" for instructions on how to add a link to your slides.<br />
<br />
== Wednesday September 17 (Tutorials) ==<br />
* Adv. SQL + Functions (Joe Conway, Stephen Frost)<br />
* PostGIS Introduction: Geometry, Geography, and Geocoding (Regina Obe, Leo Hsu)<br />
* PostGIS on caffeine: Raster, Topology, and pgRouting (Regina Obe, Leo Hsu)<br />
* Writing & Using Postgres Extensions ([http://tapoueh.org/ Dimitri Fontaine]) [http://tapoueh.org/images/confs/PostgresOpen_2014_Extension.pdf PostgresOpen_2014_Extension.pdf]<br />
* Using the Heroku Platform (Free) (Harold Giménez) ([https://speakerdeck.com/hgmnz/heroku-tutorial Slides])<br />
* NoSQL on ACID (Free) (Bruce Momjian)<br />
<br />
== Thursday September 18 ==<br />
* Sponsor Keynote (Marc Linster)<br />
<br />
* Explaining the Postgres Query Optimizer (Bruce Momjian)<br />
* Postgres in Amazon RDS (Denish Patel)<br />
* How Databases Work - For Developers, Accidental DBAs and Managers (Gurjeet Singh)<br />
<br />
* Scalability, Consistency, Replication, Availability and Performance (Simon Riggs)<br />
* The NoSQL Way In PostgreSQL (Vibhor Kumar)<br />
* So you're new to Postgres... (Michael Alan Brewer)<br />
<br />
* Who's the Fairest of Them All? Postgres Interface Performance (Joe Conway)<br />
* What's new in PostgreSQL 9.4 (Magnus Hagander)<br />
* Postgres on OpenStack (Dave Page)<br />
<br />
* Automated Performance Testing of Postgres (Greg Burek)<br />
* Survival analysis of customer retention using Postgres, SQL and R (Gleb Arshinov)<br />
* The Three Musketeers (Authentication, Authorization, and Accounting) (Sarah Conway)<br />
<br />
* On Beyond Data Types (Jonathan S. Katz)<br />
* Supersized Postgres: Postgres-XL for OLTP and Big Data Analytics (Mason Sharp)<br />
* [http://slides.com/danmcclain/postgresopen-2014 Use PostgreSQL, not Rails, to make Rails faster! (Dan McClain)]<br />
<br />
== Friday, September 19 ==<br />
<br />
* PostgreSQL Scale-Out at InMobi (Sivakumar)<br />
* Row-Estimation Revelation and the Monolithic Query Syndrome (Jeff Amiel)<br />
* Tales from the Postgres Front, and What We Can Learn (Marc Linster)<br />
<br />
* PostgreSQL for developers (Dimitri Fontaine)<br />
* Database Security and Audit Logging: User-Centered Security with JackDB (Sehrope Sarkuni)<br />
* Immutable Data in Postgres (Gary Sieling)<br />
<br />
* How VACUUM works, and what to do when it doesn't (Simon Riggs)<br />
* Heavy Duty Backup with PgBackRest (David Steele)<br />
* [https://www.dropbox.com/s/sgp2byhckm48izk/pgopen-2014-full-PDF.pdf Migrating away from MySQL for an awesome fulltext search] ([http://www.peterbe.com Peter Bengtsson])<br />
<br />
* PostgreSQL and Java: best practices (Álvaro Hernández)<br />
* [[Media:collectd-graphite.pdf|Collectd and Graphite: Monitoring PostgreSQL with Style]] (Shaun Thomas)<br />
* Columnar Store for PostgreSQL (Ben Redman)<br />
<br />
* Row Level Security (Stephen Frost)<br />
* Holistic Database Application Tuning – Factoring UDFs in an All-new Way Grant Evans, (Henrietta Dombrovskaya)<br />
* [http://tinyurl.com/frictionless-data-science Frictionless Data Science with Python] (Catherine Devlin)<br />
* [http://michael.otacoo.com/content/materials/20140919_pgopen_logirep.pdf Understanding logical decoding and replication] ([http://michael.otacoo.com/ Michael Paquier])<br />
* A Performance Comparison of Postgres on Different Storage Systems Dong Ye, Syed (Faisal Akber)<br />
* A Quantitative Look at Partitions (john melesky)<br />
<br />
*Sponsor Keynote (Simon Riggs)</div>Dimhttps://wiki.postgresql.org/index.php?title=PGConf_NYC_2014_Talks&diff=22093PGConf NYC 2014 Talks2014-04-08T07:51:46Z<p>Dim: /* Grand Ballroom Salon A&B */</p>
<hr />
<div>= PGConf NYC 2014 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://nyc.pgconf.us/2014<br />
<br />
== Talks: Thursday April 3, 2014 ==<br />
<br />
=== Keynotes ===<br />
<br />
* [https://wiki.postgresql.org/images/9/9f/PostgreSQL_Keynote_-_GS.pdf Increase Enterprise PostgreSQL Adoption at Firms Like Goldman Sachs in Financial Services]<br />
<br />
=== Grand Ballroom Salon A&B ===<br />
<br />
* [http://tapoueh.org/images/confs/PGDAY_NYC_2014.pdf PostgreSQL for Developers]<br />
* [http://excoventures.com/talks/misc/arin-ha-pgsql.pptx.pdf Building a High-Availability PostgreSQL Cluster]<br />
* [http://nbviewer.ipython.org/gist/nyamada/9946705 Using Postgres for append-only immutable data]<br />
<br />
=== Grand Ballroom Salon C ===<br />
* [http://snowman.net/slides/pgsecurity-pgconfnyc14_20140403.pdf Intro to PostgreSQL Security]<br />
* [https://wiki.postgresql.org/wiki/File:Achieving_PCI_Compliace_PgConfNYC2014.pdf Achieving PCI compliance with Postgres]<br />
* [http://www.slideshare.net/mason_s/geographically-distributed-postgresql Geographically Distributed PostgreSQL]<br />
<br />
=== Empire Room ===<br />
* [https://wiki.postgresql.org/wiki/File:Pgconfnyc2014_whenpgcantyoucan.pdf When PostgreSQL Can't, You Can]<br />
<br />
== Talks: Friday April 4, 2014 ==<br />
<br />
=== Keynotes ===<br />
<br />
=== Grand Ballroom Salon A&B ===<br />
* [http://momjian.us/main/writings/pgsql/central.pdf Making Postgres Central in Your Data Center]<br />
<br />
=== Grand Ballroom Salon C ===<br />
<br />
* [http://www.slideshare.net/PGExperts/fail-over-failback Fail Over, Fail Back]<br />
<br />
=== Empire Room ===<br />
<br />
* [https://github.com/dwsteele/conference/releases/tag/release%2FDatabaseValidationAndVersioning-PGConfNYC2014 Database Validation and Versioning]<br />
* [http://www.joeconway.com/presentations/plr-PGConfNYC2014.pdf Easy Statistical Analysis in PostgreSQL with PL/R]<br />
* [http://www.slideshare.net/gavinmroy/integrating-postgresql-with-rabbitmq Integrating PostgreSQL with RabbitMQ]<br />
* [https://wiki.postgresql.org/wiki/File:Eav-pgconfnyc2014.pdf An Adventure in Data Modeling: The Entity-Attribute-Value Data Model]</div>Dimhttps://wiki.postgresql.org/index.php?title=Nordic_PGDay_2014&diff=21991Nordic PGDay 20142014-03-20T14:43:56Z<p>Dim: /* Talks: Saturday, February 1st, 2014 */</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: http://www.postgresql.eu/events/schedule/nordicpgday2014/<br />
<br />
== Talks: Saturday, February 1st, 2014 ==<br />
<br />
* [http://thebuild.com/presentations/worst-day-nordic-2014.pdf The worst day of your life, Christophe Pettus]<br />
* 2TB of RAM ought to be enough for anybody, Renaud Bruyeron<br />
* [http://www.hagander.net/talks/postgresql94.pdf A look at the Elephants trunk - PostgreSQL 9.4, Magnus Hagander]<br />
* Useful yet frequently omitted extensions, Tomas Vondra<br />
* Intro to PostgreSQL Security, Stephen Frost<br />
* Old and new tricks with GIN, Heikki Linnakangas<br />
* [http://tapoueh.org/images/confs/NordicPGDAY.pdf PostgreSQL is YeSQL!], [http://tapoueh.org/ Dimitri Fontaine]</div>Dimhttps://wiki.postgresql.org/index.php?title=FOSDEM_2014&diff=21809FOSDEM 20142014-02-03T10:46:42Z<p>Dim: Advanced Extension User Cases, link to the slides</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the following website: http://www.postgresql.eu/events/schedule/fosdem2014/<br />
<br />
== PGDay FOSDEM 2014 ==<br />
<br />
We are also organizing one-day event: http://fosdem2014.pgconf.eu/<br />
<br />
== Talks: Friday, January 31st, 2014 ==<br />
<br />
=== Radisson Blu ===<br />
<br />
* Welcome (Magnus Hagander)<br />
* Statistics in PostgreSQL (Heikki Linnakangas)<br />
* [http://tapoueh.org/images/confs/Fosdem_2014_Extensions.pdf Advanced Extension Use Cases] ([http://tapoueh.org/blog/ Dimitri Fontaine])<br />
* Integrated cache invalidation for better hit ratios (Magnus Hagander)<br />
* [http://thebuild.com/presentations/worst-day-fosdem-2014.pdf The Worst Day of Your Life] (Christophe Pettus)<br />
* [https://wiki.postgresql.org/images/8/85/Materialised_Views_-_FOSDEM.pdf Materialised views now and in the future] (Thom Brown)<br />
* [http://www.slideshare.net/MarkusWinand/indexes-neglectedperformanceallrounder Indexes: The neglected performance all-rounder] (Markus Winand)<br />
* [http://gauss.credativ.com/~mme/2014/Fosdem_2014_V01.pdf PostgreSQL - Community meets Business] (Michael Meskes)<br />
<br />
== Talks: Saturday, February 1st, 2014 ==<br />
<br />
=== PostgreSQL FOSDEM Devroom ===<br />
<br />
* Managing Postgres in a devops environment (Gabriele Bartolini, Marco Nenciarini)<br />
* Real-Life PostgreSQL JSON (Christophe Pettus)<br />
* A look at the Elephants trunk - PostgreSQL 9.4 (Magnus Hagander)<br />
* [https://speakerdeck.com/craigkerstiens/postgres-performance-for-humans Postgres Performance for Humans] (Craig Kerstiens)<br />
* Postgres for Application Developers (Will Leinweber)<br />
* [http://www.slideshare.net/shanemcintosh/identifying-hotspots-in-the-postgresql-build-process Identifying Hotspots in the PostgreSQL Build Process] (Shane McIntosh)<br />
* Announcements, Annual Report and Election Results (Magnus Hagander)<br />
<br />
<br />
Speakers: please upload your slides to the wiki and add a link above.<br />
<br />
[[Category:PostgreSQL Events]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=21442Converting from other Databases to PostgreSQL2013-11-22T08:28:08Z<p>Dim: /* DBase II, III, IV+ */</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.dbconvert.com/ PostgreSQL database conversion software] Bi-directional database migration and synchronization between PostgreSQL, MySQL, MS SQL, SQL Azure, Oracle, SQlite, MS Access, MS FoxPro, MS Excel, Firebird, DB2. <br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
<br />
== DBase II, III, IV+ ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] Import schema and data from a dBase file into PostgreSQL, by Dimitri Fontaine<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
<br />
== DBF Format ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d $'\t' -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [https://github.com/dimitri/pgloader pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here] and [http://tapoueh.org/blog/2013/11/12-migrating-sakila Migrating Sakila from MySQL to PostgreSQL]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://tapoueh.org/confs/2013/10/29-pgconfeu-2013 From MySQL to PostgreSQL with pgloader] (English) talk at PostgreSQL Conference Europe, Dimitri Fontaine, 2013-10-29<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=21441Converting from other Databases to PostgreSQL2013-11-22T08:27:03Z<p>Dim: /* Articles and presentations (in reverse chronological order) */</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.dbconvert.com/ PostgreSQL database conversion software] Bi-directional database migration and synchronization between PostgreSQL, MySQL, MS SQL, SQL Azure, Oracle, SQlite, MS Access, MS FoxPro, MS Excel, Firebird, DB2. <br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
<br />
== DBase II, III, IV+ ==<br />
<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
<br />
== DBF Format ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d $'\t' -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [https://github.com/dimitri/pgloader pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here] and [http://tapoueh.org/blog/2013/11/12-migrating-sakila Migrating Sakila from MySQL to PostgreSQL]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://tapoueh.org/confs/2013/10/29-pgconfeu-2013 From MySQL to PostgreSQL with pgloader] (English) talk at PostgreSQL Conference Europe, Dimitri Fontaine, 2013-10-29<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=21440Converting from other Databases to PostgreSQL2013-11-22T08:26:38Z<p>Dim: /* Articles and presentations (in reverse chronological order) */</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.dbconvert.com/ PostgreSQL database conversion software] Bi-directional database migration and synchronization between PostgreSQL, MySQL, MS SQL, SQL Azure, Oracle, SQlite, MS Access, MS FoxPro, MS Excel, Firebird, DB2. <br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
<br />
== DBase II, III, IV+ ==<br />
<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
<br />
== DBF Format ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d $'\t' -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [https://github.com/dimitri/pgloader pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here] and [http://tapoueh.org/blog/2013/11/12-migrating-sakila Migrating Sakila from MySQL to PostgreSQL]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://tapoueh.org/confs/2013/10/29-pgconfeu-2013 From MySQL to PostgreSQL with pgloader] (English) talk at PostgreSQL Conference Europe, Dimitri Fontaine<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=21439Converting from other Databases to PostgreSQL2013-11-22T08:25:01Z<p>Dim: /* 2013 */</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.dbconvert.com/ PostgreSQL database conversion software] Bi-directional database migration and synchronization between PostgreSQL, MySQL, MS SQL, SQL Azure, Oracle, SQlite, MS Access, MS FoxPro, MS Excel, Firebird, DB2. <br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
<br />
== DBase II, III, IV+ ==<br />
<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
<br />
== DBF Format ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d $'\t' -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [https://github.com/dimitri/pgloader pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here] and [http://tapoueh.org/blog/2013/11/12-migrating-sakila Migrating Sakila from MySQL to PostgreSQL]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=21438Converting from other Databases to PostgreSQL2013-11-22T08:24:02Z<p>Dim: /* DBF Format */</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.dbconvert.com/ PostgreSQL database conversion software] Bi-directional database migration and synchronization between PostgreSQL, MySQL, MS SQL, SQL Azure, Oracle, SQlite, MS Access, MS FoxPro, MS Excel, Firebird, DB2. <br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
<br />
== DBase II, III, IV+ ==<br />
<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
<br />
== DBF Format ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] by Dimitri Fontaine<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d $'\t' -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [http://git.tapoueh.org/?p=pgloader.git;a=summary pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Converting_from_other_Databases_to_PostgreSQL&diff=21437Converting from other Databases to PostgreSQL2013-11-22T08:23:32Z<p>Dim: pgloader</p>
<hr />
<div>== Non-specific ==<br />
<br />
* [https://github.com/dimitri/pgloader pgloader] knows how to load data from MySQL, SQLite, dBase files, CSV files and fixed-width data files, and more. Released under The PostgreSQL Licence.<br />
* [http://www.easyfrom.net/ Converting data between PostgreSQL and others database formats] ESF Database Migration Toolkit enables you to transfer data across various databases, supporting PostgreSQL, MySQL, Oracle, SQL Server, IBM DB2, Informix, Microsoft Access, Microsoft Excel, dBase, Foxpro, Firbird, SQLite etc. - by Martin Williams<br />
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] by Troels Arvin (covers PG 8.4 and MySQL 5.0)<br />
* [[Transactional DDL in PostgreSQL: A Competitive Analysis]] by Greg Smith<br />
* [[Migrating from one database to another with Pentaho ETL]] by Nicola Benaglia<br />
* [http://www.dbconvert.com/ PostgreSQL database conversion software] Bi-directional database migration and synchronization between PostgreSQL, MySQL, MS SQL, SQL Azure, Oracle, SQlite, MS Access, MS FoxPro, MS Excel, Firebird, DB2. <br />
* [http://www.vive.net/products/datapro.htm dataPro] Conversion tool for PostgreSQL, SQLite, MySQL, Oracle, SQL Server and Microsoft Access. Transfer database objects between different databases and servers, convert tables schema and migrate data from one database type to another.<br />
* [http://www.datanamic.com/datadiff-crossdb/ DataDiff CrossDB] is a Windows GUI utility to compare and synchronize/transfer data from PostgreSQL to/from Oracle, MSSQL, MS Access or MySQL databases.<br />
* [http://www.sqlmaestro.com/products/postgresql/datawizard/ PostgreSQL Data Wizard] is a Windows GUI utility to transfer both schema and data from any ADO-compatible source (like MS Access, MySQL, SQL Server, Oracle, etc) to PostgreSQL.<br />
* [https://metacpan.org/module/SQL::Translator SQL::Translator] is a Perl module for translating table definitions between different software.<br />
<br />
== DBase II, III, IV+ ==<br />
<br />
* [http://www.tv.com.pl/stepbystep/dbasepsql/ Convert .dbf files into PostgreSQL] by Tomasz Judycki<br />
<br />
== DBF Format ==<br />
<br />
* [[:Image:26.zip|A Visual Basic utility to convert Dbase III, IV, and V]] by Dennis Bazan<br />
* [[Porting data from dBASE IV to PostgreSQL]] by Vijay Deval (2002-09-07)<br />
* [https://github.com/kstrauser/pgdbf PgDBF : Simplified and optimized replacement for XBaseToPg] by Kirk Strauser<br />
<br />
== FileMaker Pro ==<br />
<br />
* [[Porting from FileMaker Pro to PostgreSQL]] by Michelle Murrain (24th August 2001)<br />
<br />
== IBM DB2 ==<br />
<br />
* [[:Image:DB2UDB-to-PG.pdf|Migrating from DB2 to PostgreSQL]]<br />
<br />
== Interbase ==<br />
<br />
* [https://github.com/kstrauser/dbreplicate DBReplicate - Simplify Interbase->PostgreSQL conversions] by Kirk Strauser<br />
<br />
== Microsoft Access ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/exportSQL3.txt exportSQL] - a Microsoft Access module which exports Access Database into MySQL, mSQL and PostgreSQL by Dobrica Pavlinusic. Based on the work of Pedro Freire<br />
* [http://mdbtools.sourceforge.net/ MDB Tools] by Brian Bruns<br />
** A quick way to dump all tables as tsv or csv files<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -Q -d $'\t' -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.tsv"<br />
done<br />
<br />
for TT in $(mdb-tables file.mdb); do<br />
mdb-export -D '%%Y-%%m-%%d %%H:%%M:%%S' file.mdb "$TT" > "${TT}.csv"<br />
done<br />
* [http://convertdb.com/access/postgresql/ Export Microsoft Access to PostgreSQL. Cross database synchronization]<br />
* [http://www.olschimke.eu/2012/08/07/importing-microsoft-access-mdb-into-postgresql-on-linux-postgres/ Importing Microsoft Access MDB into PostgreSQL on Linux] by Michael Olschimke<br />
* [[Microsoft Access to PostgreSQL Conversion]] by Jon Hutchings (2001-07-20)<br />
* [http://pgfoundry.org/projects/access2pgsql/ access2pgsql tool] by Mariano Reingart<br />
* [http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html Using MS Access as front end and PostgreSQL as back-end database] by PostgresOnLine Journal - 2008-01-31<br />
<br />
== Microsoft SQL Server ==<br />
<br />
* [http://sqlblog.com/blogs/alexander_kuznetsov/archive/tags/PostgreSql/default.aspx Learning PostgreSQL (Alexander Kuznetsov)] - series of blog articles for SQL Server users (2013-10 ~ 2013-11)<br />
* [http://www.postgresonline.com/journal/archives/219-SQL-Server-to-PostgreSQL-Converting-table-structure.html Converting SQL Server Table Structure to PostgreSQL] Leo Hsu and Regina Obe (2011-09-03)<br />
* [[:Image:5.pdf|Conversion of Microsoft SQL/ASP applications to PostgreSQL]] by Ethan Townsend (2005-06-23)<br />
* [[Converting your data from MS SQL Server 7 to PostgreSQL 7.1.x]] by Ryan C. Bonham (2002-01-05)<br />
* [[Microsoft SQL Server to PostgreSQL Migration by Ian Harding]] (2001-09-17)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01) <br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server 2005, MySQL 5, and PostgreSQL 8.3] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [http://www.postgresonline.com/journal/index.php?/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html Cross Compare of SQL Server 2008, MySQL 5.1, and PostgreSQL 8.4] by Leo Hsu and Regina Obe (2009-08-15)<br />
* [http://www.postgresonline.com/journal/archives/179-Universal-Unique-Identifiers-PostgreSQL-SQL-Server-Compare.html Universal Unique Identifiers PostgreSQL SQL Server Compare] Demonstrates how to implement SQL Server NEWID() GUID uniqueidentifier type in PostgreSQL by Leo Hsu and Regina Obe (2010-10-07)<br />
<br />
== MySQL ==<br />
<br />
<br />
=== Scripts, programs ===<br />
<br />
==== 2013 ====<br />
* [https://github.com/lanyrd/mysql-postgresql-converter MySQL/PostgreSQL Converter from Lanyrd], based on [http://lanyrd.com/blog/2012/lanyrds-big-move/ work detailed here]<br />
* [http://git.tapoueh.org/?p=pgloader.git;a=summary pgloader], from Dimitri Fontaine, based on [http://tapoueh.org/blog/2013/01/28-pgloader-future work detailed here]<br />
* [https://github.com/philipsoutham/py-mysql2pgsql py-mysql2pgsql], [https://github.com/mozilla/airmozilla/pull/61/files#diff-30 example use case here]<br />
* [https://github.com/bdigital/my_etl MyETL], Tool that works with the [https://github.com/bdigital/mysql_fdw MySQL FDW]<br />
<br />
==== Previously ====<br />
* [http://www.enterprisedb.com/products/download.do Free MySQL to Postgres Migration Wizard by EnterpriseDB v1.1] by EnterpriseDB Corporation. Available without registration via PostgreSQL installer wizard.<br />
* [http://www.pgsql.com/download/ Conversion tool for migrating from MySQL to PostgreSQL] by PostgreSQL Inc.<br />
* [http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL Converting MySQL to PostgreSQL] - from en.wikibooks.org<br />
* [http://convertdb.com/mysql/postgresql/ Migrate MySQL to PostgreSQL.] - Cross database bidirectional synchronization<br />
* [http://www.sourcefiles.org/Databases/Utilities/Conversion/my2pg.pl my2pg.pl] - A Perl script used to convert a MySQL database dump to PostgreSQL-compatible format, by Maxim Rudensky and Valentine Danilchuk<br />
* [http://pgfoundry.org/projects/mysql2pgsql/ mysql2pgsql] - A Perl script used to convert MySQL databases dump to a PostgreSQL-compatible format<br />
* [http://mp2p.mikekohn.net/ MySQL PHP to PostgreSQL] by Michael Kohn<br />
* [http://www.gab.lc/script_php_my2pg.php PHP_my2pg] PHP script by Gabriel Bordeaux<br />
* [http://tryolabs.com/Blog/2012/02/10/django-migrating-mysql-postgresql/ Migrating from MySQL to Postgresql with Django] blogpost by alejandro<br />
* [http://github.com/maxlapshin/mysql2postgres Migrates MySQL to PostgreSQL] Ruby script by Max Lapshin<br />
# To install mysql2psql (under ubuntu 11.10): No need to get from github, just:<br />
sudo apt-get install ruby gems libmysqlclient-dev libpq-dev<br />
gem install mysql pg mysql2psql<br />
# To get info about the mysql socket:<br />
netstat -l | grep mysql<br />
mysql2psql # creates a .yml templae<br />
vi mysql2psql.yml # edit the template<br />
mysql2psql # connects to mysql database and write into postgres database<br />
<br />
* [http://pypi.python.org/pypi/py-mysql2pgsql py-mysql2pgsql] Python script to convert MySQL database to PostgreSQL compatible file or export directly to a PostgreSQL server<br />
* [https://bitbucket.org/iceone/mysql2pgsql/ my2pg.py] MySQL to PostgreSQL database conversion (not the same as above)<br />
* [http://phpseclib.sourceforge.net/sql/ SQL Data Definition Language (DDL) Conversion to MySQL, PostgreSQL and MS-SQL] by phpBB Group<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-1 Backend Database Switcheroo Howto Part I] by Nathan Matias<br />
* [http://www.sitepoint.com/article/site-mysql-postgresql-2 Backend Database Switcheroo Howto Part II] by Nathan Matias<br />
* [http://www.xach.com/aolserver/mysql-to-postgresql.html How-To: Migrating from MySQL to PostgreSQL] by Zach Beane<br />
* [[Things to find out about when moving from MySQL to PostgreSQL]] by Joel Burton (8th April 2001)<br />
* [[Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007]] by Greg Smith<br />
* [http://www.postgresonline.com/journal/index.php?/archives/51-Cross-Compare-of-SQL-Server,-MySQL,-and-PostgreSQL.html Cross Compare of SQL Server, MySQL, and PostgreSQL] by Leo Hsu and Regina Obe (2008-05-13)<br />
* [[How to make a proper migration from MySQL to PostgreSQL]]<br />
* [http://andreas.scherbaum.la/writings/migrate_web_platforms.pdf Migrating a community platform from Mysql to PostgreSQL] by Andreas Scherbaum (Prato, 2007)<br />
* [http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html MySQL functions for PostgreSQL] by Pavel Stěhule<br />
<br />
== Oracle ==<br />
<br />
=== Utilities, tools, scripts etc. ===<br />
<br />
* [http://ora2pg.darold.net/ Ora2Pg - Oracle to PostgreSQL database schema converter] by Gilles Darold<br />
* [http://oracle-fdw.projects.pgfoundry.org/ PostgreSQL Foreign Data Wrapper for Oracle (oracle_fdw)] - an [[Fdw|FDW]] providing support to access Oracle databases from within PostgreSQL<br />
* [http://orafce.projects.pgfoundry.org/ Orafce] - implements common Oracle functions in PostgreSQL for compatibility<br />
<br />
=== Documentation, articles, presentations etc. ===<br />
<br />
==== PostgreSQL documentation ====<br />
* [http://www.postgresql.org/docs/current/interactive/plpgsql-porting.html Porting from Oracle PL/SQL]<br />
<br />
==== Articles and presentations (in reverse chronological order) ====<br />
<br />
* [http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3 Analysis and Planning Process for Migration from Oracle 10g R2 to PostgreSQL 9.1.3] (Spanish) by the Spanish National Competence Center for the Application of Opensource Technologies [http://www.cenatic.es (CENATIC)] (2012-06)<br />
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare Compare SQL Server 2008 R2, Oracle 11G R2, PostgreSQL/PostGIS 1.5 Spatial Features] BostonGIS (2010-06-01)<br />
* [http://wiki.kandalaya.org/cgi-bin/twiki/view/Main/MigratingOracleToPostgreSQL Migrating Oracle Databases to PostgreSQL using Xen on Debian GNU/Linux] by Raj Mathur (Kandalaya) (2008-12-26)<br />
* [http://www.pgcon.org/2008/schedule/track/Tutorial/62.en.html Porting Oracle Applications to PostgreSQL] by Peter Eisentraut (PGCon 2008)<br />
* [[PostgreSQL for Oracle DBAs]] by Richard Stephan (2007-06-01)<br />
* [[:Image:Pg 8.1 J2EE v1.0.pdf|Porting JDBC applications from Oracle to PostgreSQL]] by Chris Drawater (2006-03-24)<br />
** [http://www.holindis.co.uk/ Related documents for J2EE, Tomcat, and Oracle migrations] by Chris Drawater (2007-01-15)<br />
* [[Interview with Mark Stosberg (From Oracle/tcl to PostgreSQL/Perl)]] by Robert Treat (2004-10-24)<br />
* [[Oracle to Postgres Conversion]] by James Shannon, Ben Adida, and Don Baccus<br />
<br />
== Progress RDBMS ==<br />
<br />
* [http://knol.google.com/k/tomasz-judycki/convert-progress-rdbms-to-postgresql/2rifd79ifooa9/4# Convert Progress RDBMS to PostgreSQL] by Tomasz Judycki<br />
<br />
== Converting PostgreSQL Databases to other Databases ==<br />
<br />
* [http://docman.sourceforge.net/home_html/projects/sql/pgsql2interbase PostgreSQL to InterBase dump file converter] by Dobrica Pavlinusic<br />
<br />
[[Category:Install]]<br />
[[Category:General articles and guides]]</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2013&diff=21195PostgreSQL Conference Europe Talks 20132013-11-05T09:30:48Z<p>Dim: /* Dargle */</p>
<hr />
<div>= PostgreSQL Conference Europe 2013 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2013.pgconf.eu/<br />
<br />
<br />
== Trainings: Tuesday 29th October, 2013 ==<br />
<br />
=== Dargle ===<br />
<br />
* PostgreSQL & PostGIS (Gianni Ciolli)<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Writing & using Postgres Extensions] ([http://tapoueh.org/ Dimitri Fontaine])<br />
<br />
=== Dodder ===<br />
<br />
* [http://www.cybertec.at/download/2013_dublin_indexing.pdf PostgreSQL indexing] (Hans-Jürgen Schönig)<br />
<br />
=== Liffey ===<br />
<br />
* PostgreSQL Performance Tuning (Bruce Momjian)<br />
* Data Processing Inside PostgreSQL (Bruce Momjian)<br />
<br />
== Talks: Wednesday 30th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Keynote: Handling the Spotlight: How PostgreSQL can become the database of choice (Mark Taylor)<br />
* What's New in PostgreSQL 9.3 (Robert Treat)<br />
* [http://gauss.credativ.com/~mme/2013/PGConf_EU_2013_V01.pdf PostgreSQL - One of the most important Open Source projects] (Michael Meskes)<br />
* [https://github.com/Oslandia/presentations/tree/master/pgconf_eu_2013 Going spatial with PostGIS and more] (Hugo Mercier)<br />
* [http://momjian.us/main/presentations/features.html#nulls Nulls Make Things Easier?] (Bruce Momjian)<br />
* [http://www.slideshare.net/GabrieleBartolini/postgresql-disaster-recovery-with-barman-pgconfeu-2013 PostgreSQL Disaster Recovery with Barman] (Gabriele Bartolini)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.hesotech.de/talks/PgEu-Dublin-2013.pdf PostgreSQL for Rails] (Roland Sonnenschein)<br />
* [http://www.slideshare.net/slideshow/embed_code/27905220 Introduction of pg_statsinfo and pg_stats_reporter ~Statistics Reporting Tool for DBA~] (Mitsumasa KONDO)<br />
* [http://de.slideshare.net/psoo1978/pg-fdw Writing a foreign data wrapper] (Bernd Helmle)<br />
* [http://de.slideshare.net/aldaschwede80/sybase-topostgres-en Success stories on migrating from Sybase ASE to PostgreSQL] (Achim Eisele, Jens Wilke)<br />
* [http://www.dalibo.org/_media/multicorn/pgday.eu.2013.multicorn_writing_foreign_data_wrappers_in_python.pdf Multicorn: writing Foreign Data Wrappers in python] (Ronan Dunklau)<br />
<br />
=== Pembroke ===<br />
<br />
* [[Media:PGConf-EU-2013-User-Defined-Datatype.pdf| Writing a user-defined datatype]] ([[Media:Pgconf-eu-2013-example.tar.gz|sources for the example]]) (Heikki Linnakangas)<br />
* LATERAL querying in 9.3; keep up with the new features! (Gianni Ciolli)<br />
* [http://www.cybertec.at/download/2013_dublin_bottlenecks.pdf Detecting performance bottlenecks] (Hans-Jürgen Schönig)<br />
* [http://www.slideshare.net/jkatz05/explain-the-index-of-postgresql-indexes Explaining the Index of PostgreSQL Indexes] (Jonathan S. Katz)<br />
* [http://www.dalibo.org/_media/pgday.eu.2013.conduct_change_from_oracle_to_postgresql.pdf Conduct change from Oracle to PostgreSQL] (Jean-Paul Argudo)<br />
<br />
== Talks: Thursday 31th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* [http://michael.otacoo.com/wp-content/uploads/2011/09/20131029_pgopen_bgworker.pdf Taking advantage of custom background workers (Michael Paquier)]<br />
* Doing PITR Right - There's more than just replication (Stephen Frost)<br />
* [https://speakerdeck.com/craigkerstiens/postgres-what-they-really-use slides Postgres what they really use] ([http://www.craigkerstiens.com Craig Kerstiens])<br />
* [http://www.slideshare.net/MarkusWinand/indexes-neglectedperformanceallrounder Indexes: The neglected performance all-rounder ]([http://winand.at/ Markus Winand])<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Migrating from MySQL to PostgreSQL] ([http://tapoueh.org/ Dimitri Fontaine])<br />
* Lightning talks (Harald Armin Massa)<br />
<br />
=== Leeson ===<br />
<br />
* Gotcha! Finer points of the postgres query planner and how to use them in your queries (Atri Sharma)<br />
* [https://wiki.postgresql.org/images/a/ad/Materialised_views_now_and_the_future-pgconfeu_2013.pdf Materialised views now and the future] (Thom Brown)<br />
* [http://www.slideshare.net/davidfetter/federation-with-foreigndatawrapperspgconfeu20131031 Federation with Foreign Data Wrappers] (David Fetter)<br />
* [http://prezi.com/uoa2jvfutpy9/?utm_campaign=share&utm_medium=copy&rc=ex0share Switching Horses Overnight - a Software Manufacturer's View on Replacing an Existing Database Management System with PostgreSQL] (Robert Lichtenberger, Stefan Andreatta)<br />
* [http://jkshah.blogspot.com/2013/10/my-experience-with-embedding-postgresql.html My experience with embedding PostgreSQL] (Jignesh Shah)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.dalibo.org/_media/pgconf.eu.2013.conferences-pgbadger_v.4.pdf pgBadger v.4] (Jean-Paul Argudo)<br />
* Business Intelligence & Performance (Simon Riggs)<br />
* [https://speakerdeck.com/peterg/concurrency-in-postgres Concurrency in Postgres] (Peter Geoghegan)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/Next%20generation%20of%20GIN.pdf Next generation of GIN] (Alexander Korotkov, Oleg Bartunov)<br />
* [https://speakerdeck.com/leinweber/visualizing-postgres Visualizing Postgres] ([http://bitfission.com Will Leinweber])<br />
<br />
=== Lightning talks ===<br />
<br />
* [http://www.slideshare.net/davidfetter/slides-pg-confeu20131031 Slides] (David Fetter)<br />
* [https://wiki.postgresql.org/images/1/1c/Json-and-speed.pdf JSON & Speed] (Jonathan S. Katz)<br />
* [https://wiki.postgresql.org/images/a/ab/Pganalyze_Lightning_talk.pdf pganalyze - Monitoring for Casual DBAs] (Michael Renner)<br />
* [https://wiki.postgresql.org/images/7/7f/Lightning_100k.pdf 100k Appliances] (Christoph Moench-Tegeder)<br />
<br />
== Talks: Friday 1st November, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Epic fails in the RDBMS world (Willem Leenen)<br />
* Using Postgres FDW w/ a sharded PostgreSQL Database (Stephen Frost)<br />
* Postgres versus an anonymous database from Redwood (Gregory Stark)<br />
* Hierarchies Without Masters (Gianni Ciolli)<br />
* PostgreSQL Futures (Simon Riggs)<br />
* PostgreSQL in 5 years - Expectations from the market place (Keith Alsheimer)<br />
* Closing (Dave Page, Magnus Hagander)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.slideshare.net/MarkusWinand/p2d2-pagination-done-the-postgresql-way Pagination done the PostgreSQL way] ([http://winand.at/ Markus Winand])<br />
* Postgres from Vision to Reality, ABNAMRO Client case (Michel Sijmons)<br />
* PostgreSQL Backups, the good the bad and the ugly (Joshua D. Drake)<br />
* Elephants in fashion (Valentine Gogichashvili)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.slideshare.net/GabrieleBartolini/agile-oraclemigrations Agile Oracle to PostgreSQL migrations] (Gabriele Bartolini)<br />
* [http://www.gunduz.org/download.php?dlid=203 Useful PostgreSQL Extensions -- the extensions behind the scenes] (Devrim GÜNDÜZ)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/hstore-dublin-2013.pdf Binary storage for nested data structures and application to hstore data type] (Oleg Bartunov, Teodor Sigaev)<br />
* Wiretapping the Wire Protocol: automatic data visualization for psql with Cartographer and FEMEBE (Maciek Sakrejda)</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2013&diff=21194PostgreSQL Conference Europe Talks 20132013-11-05T09:30:31Z<p>Dim: /* Earlsfort */</p>
<hr />
<div>= PostgreSQL Conference Europe 2013 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2013.pgconf.eu/<br />
<br />
<br />
== Trainings: Tuesday 29th October, 2013 ==<br />
<br />
=== Dargle ===<br />
<br />
* PostgreSQL & PostGIS (Gianni Ciolli)<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Writing & using Postgres Extensions] (Dimitri Fontaine)<br />
<br />
=== Dodder ===<br />
<br />
* [http://www.cybertec.at/download/2013_dublin_indexing.pdf PostgreSQL indexing] (Hans-Jürgen Schönig)<br />
<br />
=== Liffey ===<br />
<br />
* PostgreSQL Performance Tuning (Bruce Momjian)<br />
* Data Processing Inside PostgreSQL (Bruce Momjian)<br />
<br />
== Talks: Wednesday 30th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Keynote: Handling the Spotlight: How PostgreSQL can become the database of choice (Mark Taylor)<br />
* What's New in PostgreSQL 9.3 (Robert Treat)<br />
* [http://gauss.credativ.com/~mme/2013/PGConf_EU_2013_V01.pdf PostgreSQL - One of the most important Open Source projects] (Michael Meskes)<br />
* [https://github.com/Oslandia/presentations/tree/master/pgconf_eu_2013 Going spatial with PostGIS and more] (Hugo Mercier)<br />
* [http://momjian.us/main/presentations/features.html#nulls Nulls Make Things Easier?] (Bruce Momjian)<br />
* [http://www.slideshare.net/GabrieleBartolini/postgresql-disaster-recovery-with-barman-pgconfeu-2013 PostgreSQL Disaster Recovery with Barman] (Gabriele Bartolini)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.hesotech.de/talks/PgEu-Dublin-2013.pdf PostgreSQL for Rails] (Roland Sonnenschein)<br />
* [http://www.slideshare.net/slideshow/embed_code/27905220 Introduction of pg_statsinfo and pg_stats_reporter ~Statistics Reporting Tool for DBA~] (Mitsumasa KONDO)<br />
* [http://de.slideshare.net/psoo1978/pg-fdw Writing a foreign data wrapper] (Bernd Helmle)<br />
* [http://de.slideshare.net/aldaschwede80/sybase-topostgres-en Success stories on migrating from Sybase ASE to PostgreSQL] (Achim Eisele, Jens Wilke)<br />
* [http://www.dalibo.org/_media/multicorn/pgday.eu.2013.multicorn_writing_foreign_data_wrappers_in_python.pdf Multicorn: writing Foreign Data Wrappers in python] (Ronan Dunklau)<br />
<br />
=== Pembroke ===<br />
<br />
* [[Media:PGConf-EU-2013-User-Defined-Datatype.pdf| Writing a user-defined datatype]] ([[Media:Pgconf-eu-2013-example.tar.gz|sources for the example]]) (Heikki Linnakangas)<br />
* LATERAL querying in 9.3; keep up with the new features! (Gianni Ciolli)<br />
* [http://www.cybertec.at/download/2013_dublin_bottlenecks.pdf Detecting performance bottlenecks] (Hans-Jürgen Schönig)<br />
* [http://www.slideshare.net/jkatz05/explain-the-index-of-postgresql-indexes Explaining the Index of PostgreSQL Indexes] (Jonathan S. Katz)<br />
* [http://www.dalibo.org/_media/pgday.eu.2013.conduct_change_from_oracle_to_postgresql.pdf Conduct change from Oracle to PostgreSQL] (Jean-Paul Argudo)<br />
<br />
== Talks: Thursday 31th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* [http://michael.otacoo.com/wp-content/uploads/2011/09/20131029_pgopen_bgworker.pdf Taking advantage of custom background workers (Michael Paquier)]<br />
* Doing PITR Right - There's more than just replication (Stephen Frost)<br />
* [https://speakerdeck.com/craigkerstiens/postgres-what-they-really-use slides Postgres what they really use] ([http://www.craigkerstiens.com Craig Kerstiens])<br />
* [http://www.slideshare.net/MarkusWinand/indexes-neglectedperformanceallrounder Indexes: The neglected performance all-rounder ]([http://winand.at/ Markus Winand])<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Migrating from MySQL to PostgreSQL] ([http://tapoueh.org/ Dimitri Fontaine])<br />
* Lightning talks (Harald Armin Massa)<br />
<br />
=== Leeson ===<br />
<br />
* Gotcha! Finer points of the postgres query planner and how to use them in your queries (Atri Sharma)<br />
* [https://wiki.postgresql.org/images/a/ad/Materialised_views_now_and_the_future-pgconfeu_2013.pdf Materialised views now and the future] (Thom Brown)<br />
* [http://www.slideshare.net/davidfetter/federation-with-foreigndatawrapperspgconfeu20131031 Federation with Foreign Data Wrappers] (David Fetter)<br />
* [http://prezi.com/uoa2jvfutpy9/?utm_campaign=share&utm_medium=copy&rc=ex0share Switching Horses Overnight - a Software Manufacturer's View on Replacing an Existing Database Management System with PostgreSQL] (Robert Lichtenberger, Stefan Andreatta)<br />
* [http://jkshah.blogspot.com/2013/10/my-experience-with-embedding-postgresql.html My experience with embedding PostgreSQL] (Jignesh Shah)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.dalibo.org/_media/pgconf.eu.2013.conferences-pgbadger_v.4.pdf pgBadger v.4] (Jean-Paul Argudo)<br />
* Business Intelligence & Performance (Simon Riggs)<br />
* [https://speakerdeck.com/peterg/concurrency-in-postgres Concurrency in Postgres] (Peter Geoghegan)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/Next%20generation%20of%20GIN.pdf Next generation of GIN] (Alexander Korotkov, Oleg Bartunov)<br />
* [https://speakerdeck.com/leinweber/visualizing-postgres Visualizing Postgres] ([http://bitfission.com Will Leinweber])<br />
<br />
=== Lightning talks ===<br />
<br />
* [http://www.slideshare.net/davidfetter/slides-pg-confeu20131031 Slides] (David Fetter)<br />
* [https://wiki.postgresql.org/images/1/1c/Json-and-speed.pdf JSON & Speed] (Jonathan S. Katz)<br />
* [https://wiki.postgresql.org/images/a/ab/Pganalyze_Lightning_talk.pdf pganalyze - Monitoring for Casual DBAs] (Michael Renner)<br />
* [https://wiki.postgresql.org/images/7/7f/Lightning_100k.pdf 100k Appliances] (Christoph Moench-Tegeder)<br />
<br />
== Talks: Friday 1st November, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Epic fails in the RDBMS world (Willem Leenen)<br />
* Using Postgres FDW w/ a sharded PostgreSQL Database (Stephen Frost)<br />
* Postgres versus an anonymous database from Redwood (Gregory Stark)<br />
* Hierarchies Without Masters (Gianni Ciolli)<br />
* PostgreSQL Futures (Simon Riggs)<br />
* PostgreSQL in 5 years - Expectations from the market place (Keith Alsheimer)<br />
* Closing (Dave Page, Magnus Hagander)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.slideshare.net/MarkusWinand/p2d2-pagination-done-the-postgresql-way Pagination done the PostgreSQL way] ([http://winand.at/ Markus Winand])<br />
* Postgres from Vision to Reality, ABNAMRO Client case (Michel Sijmons)<br />
* PostgreSQL Backups, the good the bad and the ugly (Joshua D. Drake)<br />
* Elephants in fashion (Valentine Gogichashvili)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.slideshare.net/GabrieleBartolini/agile-oraclemigrations Agile Oracle to PostgreSQL migrations] (Gabriele Bartolini)<br />
* [http://www.gunduz.org/download.php?dlid=203 Useful PostgreSQL Extensions -- the extensions behind the scenes] (Devrim GÜNDÜZ)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/hstore-dublin-2013.pdf Binary storage for nested data structures and application to hstore data type] (Oleg Bartunov, Teodor Sigaev)<br />
* Wiretapping the Wire Protocol: automatic data visualization for psql with Cartographer and FEMEBE (Maciek Sakrejda)</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2013&diff=21193PostgreSQL Conference Europe Talks 20132013-11-05T09:29:46Z<p>Dim: /* Earlsfort */</p>
<hr />
<div>= PostgreSQL Conference Europe 2013 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2013.pgconf.eu/<br />
<br />
<br />
== Trainings: Tuesday 29th October, 2013 ==<br />
<br />
=== Dargle ===<br />
<br />
* PostgreSQL & PostGIS (Gianni Ciolli)<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Writing & using Postgres Extensions] (Dimitri Fontaine)<br />
<br />
=== Dodder ===<br />
<br />
* [http://www.cybertec.at/download/2013_dublin_indexing.pdf PostgreSQL indexing] (Hans-Jürgen Schönig)<br />
<br />
=== Liffey ===<br />
<br />
* PostgreSQL Performance Tuning (Bruce Momjian)<br />
* Data Processing Inside PostgreSQL (Bruce Momjian)<br />
<br />
== Talks: Wednesday 30th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Keynote: Handling the Spotlight: How PostgreSQL can become the database of choice (Mark Taylor)<br />
* What's New in PostgreSQL 9.3 (Robert Treat)<br />
* [http://gauss.credativ.com/~mme/2013/PGConf_EU_2013_V01.pdf PostgreSQL - One of the most important Open Source projects] (Michael Meskes)<br />
* [https://github.com/Oslandia/presentations/tree/master/pgconf_eu_2013 Going spatial with PostGIS and more] (Hugo Mercier)<br />
* [http://momjian.us/main/presentations/features.html#nulls Nulls Make Things Easier?] (Bruce Momjian)<br />
* [http://www.slideshare.net/GabrieleBartolini/postgresql-disaster-recovery-with-barman-pgconfeu-2013 PostgreSQL Disaster Recovery with Barman] (Gabriele Bartolini)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.hesotech.de/talks/PgEu-Dublin-2013.pdf PostgreSQL for Rails] (Roland Sonnenschein)<br />
* [http://www.slideshare.net/slideshow/embed_code/27905220 Introduction of pg_statsinfo and pg_stats_reporter ~Statistics Reporting Tool for DBA~] (Mitsumasa KONDO)<br />
* [http://de.slideshare.net/psoo1978/pg-fdw Writing a foreign data wrapper] (Bernd Helmle)<br />
* [http://de.slideshare.net/aldaschwede80/sybase-topostgres-en Success stories on migrating from Sybase ASE to PostgreSQL] (Achim Eisele, Jens Wilke)<br />
* [http://www.dalibo.org/_media/multicorn/pgday.eu.2013.multicorn_writing_foreign_data_wrappers_in_python.pdf Multicorn: writing Foreign Data Wrappers in python] (Ronan Dunklau)<br />
<br />
=== Pembroke ===<br />
<br />
* [[Media:PGConf-EU-2013-User-Defined-Datatype.pdf| Writing a user-defined datatype]] ([[Media:Pgconf-eu-2013-example.tar.gz|sources for the example]]) (Heikki Linnakangas)<br />
* LATERAL querying in 9.3; keep up with the new features! (Gianni Ciolli)<br />
* [http://www.cybertec.at/download/2013_dublin_bottlenecks.pdf Detecting performance bottlenecks] (Hans-Jürgen Schönig)<br />
* [http://www.slideshare.net/jkatz05/explain-the-index-of-postgresql-indexes Explaining the Index of PostgreSQL Indexes] (Jonathan S. Katz)<br />
* [http://www.dalibo.org/_media/pgday.eu.2013.conduct_change_from_oracle_to_postgresql.pdf Conduct change from Oracle to PostgreSQL] (Jean-Paul Argudo)<br />
<br />
== Talks: Thursday 31th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* [http://michael.otacoo.com/wp-content/uploads/2011/09/20131029_pgopen_bgworker.pdf Taking advantage of custom background workers (Michael Paquier)]<br />
* Doing PITR Right - There's more than just replication (Stephen Frost)<br />
* [https://speakerdeck.com/craigkerstiens/postgres-what-they-really-use slides Postgres what they really use] ([http://www.craigkerstiens.com Craig Kerstiens])<br />
* [http://www.slideshare.net/MarkusWinand/indexes-neglectedperformanceallrounder Indexes: The neglected performance all-rounder ]([http://winand.at/ Markus Winand])<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Migrating from MySQL to PostgreSQL] (Dimitri Fontaine)<br />
* Lightning talks (Harald Armin Massa)<br />
<br />
=== Leeson ===<br />
<br />
* Gotcha! Finer points of the postgres query planner and how to use them in your queries (Atri Sharma)<br />
* [https://wiki.postgresql.org/images/a/ad/Materialised_views_now_and_the_future-pgconfeu_2013.pdf Materialised views now and the future] (Thom Brown)<br />
* [http://www.slideshare.net/davidfetter/federation-with-foreigndatawrapperspgconfeu20131031 Federation with Foreign Data Wrappers] (David Fetter)<br />
* [http://prezi.com/uoa2jvfutpy9/?utm_campaign=share&utm_medium=copy&rc=ex0share Switching Horses Overnight - a Software Manufacturer's View on Replacing an Existing Database Management System with PostgreSQL] (Robert Lichtenberger, Stefan Andreatta)<br />
* [http://jkshah.blogspot.com/2013/10/my-experience-with-embedding-postgresql.html My experience with embedding PostgreSQL] (Jignesh Shah)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.dalibo.org/_media/pgconf.eu.2013.conferences-pgbadger_v.4.pdf pgBadger v.4] (Jean-Paul Argudo)<br />
* Business Intelligence & Performance (Simon Riggs)<br />
* [https://speakerdeck.com/peterg/concurrency-in-postgres Concurrency in Postgres] (Peter Geoghegan)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/Next%20generation%20of%20GIN.pdf Next generation of GIN] (Alexander Korotkov, Oleg Bartunov)<br />
* [https://speakerdeck.com/leinweber/visualizing-postgres Visualizing Postgres] ([http://bitfission.com Will Leinweber])<br />
<br />
=== Lightning talks ===<br />
<br />
* [http://www.slideshare.net/davidfetter/slides-pg-confeu20131031 Slides] (David Fetter)<br />
* [https://wiki.postgresql.org/images/1/1c/Json-and-speed.pdf JSON & Speed] (Jonathan S. Katz)<br />
* [https://wiki.postgresql.org/images/a/ab/Pganalyze_Lightning_talk.pdf pganalyze - Monitoring for Casual DBAs] (Michael Renner)<br />
* [https://wiki.postgresql.org/images/7/7f/Lightning_100k.pdf 100k Appliances] (Christoph Moench-Tegeder)<br />
<br />
== Talks: Friday 1st November, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Epic fails in the RDBMS world (Willem Leenen)<br />
* Using Postgres FDW w/ a sharded PostgreSQL Database (Stephen Frost)<br />
* Postgres versus an anonymous database from Redwood (Gregory Stark)<br />
* Hierarchies Without Masters (Gianni Ciolli)<br />
* PostgreSQL Futures (Simon Riggs)<br />
* PostgreSQL in 5 years - Expectations from the market place (Keith Alsheimer)<br />
* Closing (Dave Page, Magnus Hagander)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.slideshare.net/MarkusWinand/p2d2-pagination-done-the-postgresql-way Pagination done the PostgreSQL way] ([http://winand.at/ Markus Winand])<br />
* Postgres from Vision to Reality, ABNAMRO Client case (Michel Sijmons)<br />
* PostgreSQL Backups, the good the bad and the ugly (Joshua D. Drake)<br />
* Elephants in fashion (Valentine Gogichashvili)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.slideshare.net/GabrieleBartolini/agile-oraclemigrations Agile Oracle to PostgreSQL migrations] (Gabriele Bartolini)<br />
* [http://www.gunduz.org/download.php?dlid=203 Useful PostgreSQL Extensions -- the extensions behind the scenes] (Devrim GÜNDÜZ)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/hstore-dublin-2013.pdf Binary storage for nested data structures and application to hstore data type] (Oleg Bartunov, Teodor Sigaev)<br />
* Wiretapping the Wire Protocol: automatic data visualization for psql with Cartographer and FEMEBE (Maciek Sakrejda)</div>Dimhttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2013&diff=21192PostgreSQL Conference Europe Talks 20132013-11-05T09:29:27Z<p>Dim: /* Trainings: Tuesday 29th October, 2013 */</p>
<hr />
<div>= PostgreSQL Conference Europe 2013 Talks =<br />
<br />
== Conference Website ==<br />
<br />
http://2013.pgconf.eu/<br />
<br />
<br />
== Trainings: Tuesday 29th October, 2013 ==<br />
<br />
=== Dargle ===<br />
<br />
* PostgreSQL & PostGIS (Gianni Ciolli)<br />
* [http://tapoueh.org/blog/2013/11/05-back-from-dublin Writing & using Postgres Extensions] (Dimitri Fontaine)<br />
<br />
=== Dodder ===<br />
<br />
* [http://www.cybertec.at/download/2013_dublin_indexing.pdf PostgreSQL indexing] (Hans-Jürgen Schönig)<br />
<br />
=== Liffey ===<br />
<br />
* PostgreSQL Performance Tuning (Bruce Momjian)<br />
* Data Processing Inside PostgreSQL (Bruce Momjian)<br />
<br />
== Talks: Wednesday 30th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Keynote: Handling the Spotlight: How PostgreSQL can become the database of choice (Mark Taylor)<br />
* What's New in PostgreSQL 9.3 (Robert Treat)<br />
* [http://gauss.credativ.com/~mme/2013/PGConf_EU_2013_V01.pdf PostgreSQL - One of the most important Open Source projects] (Michael Meskes)<br />
* [https://github.com/Oslandia/presentations/tree/master/pgconf_eu_2013 Going spatial with PostGIS and more] (Hugo Mercier)<br />
* [http://momjian.us/main/presentations/features.html#nulls Nulls Make Things Easier?] (Bruce Momjian)<br />
* [http://www.slideshare.net/GabrieleBartolini/postgresql-disaster-recovery-with-barman-pgconfeu-2013 PostgreSQL Disaster Recovery with Barman] (Gabriele Bartolini)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.hesotech.de/talks/PgEu-Dublin-2013.pdf PostgreSQL for Rails] (Roland Sonnenschein)<br />
* [http://www.slideshare.net/slideshow/embed_code/27905220 Introduction of pg_statsinfo and pg_stats_reporter ~Statistics Reporting Tool for DBA~] (Mitsumasa KONDO)<br />
* [http://de.slideshare.net/psoo1978/pg-fdw Writing a foreign data wrapper] (Bernd Helmle)<br />
* [http://de.slideshare.net/aldaschwede80/sybase-topostgres-en Success stories on migrating from Sybase ASE to PostgreSQL] (Achim Eisele, Jens Wilke)<br />
* [http://www.dalibo.org/_media/multicorn/pgday.eu.2013.multicorn_writing_foreign_data_wrappers_in_python.pdf Multicorn: writing Foreign Data Wrappers in python] (Ronan Dunklau)<br />
<br />
=== Pembroke ===<br />
<br />
* [[Media:PGConf-EU-2013-User-Defined-Datatype.pdf| Writing a user-defined datatype]] ([[Media:Pgconf-eu-2013-example.tar.gz|sources for the example]]) (Heikki Linnakangas)<br />
* LATERAL querying in 9.3; keep up with the new features! (Gianni Ciolli)<br />
* [http://www.cybertec.at/download/2013_dublin_bottlenecks.pdf Detecting performance bottlenecks] (Hans-Jürgen Schönig)<br />
* [http://www.slideshare.net/jkatz05/explain-the-index-of-postgresql-indexes Explaining the Index of PostgreSQL Indexes] (Jonathan S. Katz)<br />
* [http://www.dalibo.org/_media/pgday.eu.2013.conduct_change_from_oracle_to_postgresql.pdf Conduct change from Oracle to PostgreSQL] (Jean-Paul Argudo)<br />
<br />
== Talks: Thursday 31th October, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* [http://michael.otacoo.com/wp-content/uploads/2011/09/20131029_pgopen_bgworker.pdf Taking advantage of custom background workers (Michael Paquier)]<br />
* Doing PITR Right - There's more than just replication (Stephen Frost)<br />
* [https://speakerdeck.com/craigkerstiens/postgres-what-they-really-use slides Postgres what they really use] ([http://www.craigkerstiens.com Craig Kerstiens])<br />
* [http://www.slideshare.net/MarkusWinand/indexes-neglectedperformanceallrounder Indexes: The neglected performance all-rounder ]([http://winand.at/ Markus Winand])<br />
* Migrating from MySQL to PostgreSQL (Dimitri Fontaine)<br />
* Lightning talks (Harald Armin Massa)<br />
<br />
=== Leeson ===<br />
<br />
* Gotcha! Finer points of the postgres query planner and how to use them in your queries (Atri Sharma)<br />
* [https://wiki.postgresql.org/images/a/ad/Materialised_views_now_and_the_future-pgconfeu_2013.pdf Materialised views now and the future] (Thom Brown)<br />
* [http://www.slideshare.net/davidfetter/federation-with-foreigndatawrapperspgconfeu20131031 Federation with Foreign Data Wrappers] (David Fetter)<br />
* [http://prezi.com/uoa2jvfutpy9/?utm_campaign=share&utm_medium=copy&rc=ex0share Switching Horses Overnight - a Software Manufacturer's View on Replacing an Existing Database Management System with PostgreSQL] (Robert Lichtenberger, Stefan Andreatta)<br />
* [http://jkshah.blogspot.com/2013/10/my-experience-with-embedding-postgresql.html My experience with embedding PostgreSQL] (Jignesh Shah)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.dalibo.org/_media/pgconf.eu.2013.conferences-pgbadger_v.4.pdf pgBadger v.4] (Jean-Paul Argudo)<br />
* Business Intelligence & Performance (Simon Riggs)<br />
* [https://speakerdeck.com/peterg/concurrency-in-postgres Concurrency in Postgres] (Peter Geoghegan)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/Next%20generation%20of%20GIN.pdf Next generation of GIN] (Alexander Korotkov, Oleg Bartunov)<br />
* [https://speakerdeck.com/leinweber/visualizing-postgres Visualizing Postgres] ([http://bitfission.com Will Leinweber])<br />
<br />
=== Lightning talks ===<br />
<br />
* [http://www.slideshare.net/davidfetter/slides-pg-confeu20131031 Slides] (David Fetter)<br />
* [https://wiki.postgresql.org/images/1/1c/Json-and-speed.pdf JSON & Speed] (Jonathan S. Katz)<br />
* [https://wiki.postgresql.org/images/a/ab/Pganalyze_Lightning_talk.pdf pganalyze - Monitoring for Casual DBAs] (Michael Renner)<br />
* [https://wiki.postgresql.org/images/7/7f/Lightning_100k.pdf 100k Appliances] (Christoph Moench-Tegeder)<br />
<br />
== Talks: Friday 1st November, 2013 ==<br />
<br />
=== Earlsfort ===<br />
<br />
* Epic fails in the RDBMS world (Willem Leenen)<br />
* Using Postgres FDW w/ a sharded PostgreSQL Database (Stephen Frost)<br />
* Postgres versus an anonymous database from Redwood (Gregory Stark)<br />
* Hierarchies Without Masters (Gianni Ciolli)<br />
* PostgreSQL Futures (Simon Riggs)<br />
* PostgreSQL in 5 years - Expectations from the market place (Keith Alsheimer)<br />
* Closing (Dave Page, Magnus Hagander)<br />
<br />
=== Leeson ===<br />
<br />
* [http://www.slideshare.net/MarkusWinand/p2d2-pagination-done-the-postgresql-way Pagination done the PostgreSQL way] ([http://winand.at/ Markus Winand])<br />
* Postgres from Vision to Reality, ABNAMRO Client case (Michel Sijmons)<br />
* PostgreSQL Backups, the good the bad and the ugly (Joshua D. Drake)<br />
* Elephants in fashion (Valentine Gogichashvili)<br />
<br />
=== Pembroke ===<br />
<br />
* [http://www.slideshare.net/GabrieleBartolini/agile-oraclemigrations Agile Oracle to PostgreSQL migrations] (Gabriele Bartolini)<br />
* [http://www.gunduz.org/download.php?dlid=203 Useful PostgreSQL Extensions -- the extensions behind the scenes] (Devrim GÜNDÜZ)<br />
* [http://www.sai.msu.su/~megera/postgres/talks/hstore-dublin-2013.pdf Binary storage for nested data structures and application to hstore data type] (Oleg Bartunov, Teodor Sigaev)<br />
* Wiretapping the Wire Protocol: automatic data visualization for psql with Cartographer and FEMEBE (Maciek Sakrejda)</div>Dimhttps://wiki.postgresql.org/index.php?title=IRC2RWNames&diff=20512IRC2RWNames2013-08-01T20:28:24Z<p>Dim: /* List of IRC nicks with their respective real world names */</p>
<hr />
<div>=== List of IRC nicks with their respective real world names ===<br />
<br />
You can find many PostgreSQL users and developers chatting in [irc://irc.freenode.net/postgresql #postgresql on freenode]. Here's more information about some of the regulars there. '''Note:''' people are on the list below only when they want to be. Do not (re-)add anyone without their express permission.<br />
<br />
{| border="1"<br />
|-<br />
!Nickname || Real Name<br />
|-<br />
|ads || Andreas Scherbaum<br />
|-<br />
|agliodbs, aglio2 (freenode), jberkus (oftc) || Josh Berkus<br />
|-<br />
|ahammond || Andrew Hammond<br />
|-<br />
|alvherre || Alvaro Herrera<br />
|-<br />
|andres || Andres Freund<br />
|-<br />
|Assid || Satish Alwani<br />
|-<br />
|aurynn || Aurynn Shaw<br />
|-<br />
|BlueAidan/BlueAidan_work || [[user:davidblewett | David Blewett]]<br />
|-<br />
|bmomjian || Bruce Momjian<br />
|-<br />
|cbbrowne || Christopher Browne<br />
|-<br />
|cce || Clark C. Evans<br />
|-<br />
|chicagoben || Benjamin Johnson<br />
|-<br />
|crab || Abhijit Menon-Sen<br />
|-<br />
|Crad || Gavin M. Roy<br />
|- <br />
|daamien || Damien Clochard<br />
|-<br />
|DarcyB || Darcy Buskermolen<br />
|-<br />
|darkixion || Thom Brown<br />
|-<br />
|davidfetter || David Fetter<br />
|-<br />
|dbb || Brian Hamlin / darkblue_b<br />
|-<br />
|dcolish || [http://www.unencrypted.org Dan Colish]<br />
|-<br />
|dcramer || Dave Cramer<br />
|-<br />
|DeciBull, TheCougar || Jim C. Nasby<br />
|-<br />
|dennisb || Dennis Bj&ouml;rklund<br />
|-<br />
|depesz || Hubert Lubaczewski<br />
|-<br />
|devrimgunduz || Devrim G&uuml;nd&uuml;z<br />
|-<br />
|digicon || [http://digicondev.blogspot.com Zach Conrad]<br />
|-<br />
|dim || [http://tapoueh.org Dimitri Fontaine]<br />
|-<br />
|direvus || Brendan Jurd<br />
|-<br />
|drbair || Ryan Bair<br />
|-<br />
|DrLou || Lou Picciano<br />
|-<br />
|duck_tape || Adi Alurkar<br />
|-<br />
|dvl || [http://langille.org/ Dan Langille]<br />
|-<br />
|eggyknap || Joshua Tolley<br />
|-<br />
|endpoint_david || David Christensen<br />
|-<br />
|eulerto || Euler Taveira<br />
|-<br />
|f3ew/devdas || Devdas Vasu Bhagat<br />
|-<br />
|feivel || Michael Meskes<br />
|-<br />
|elein || Elein Mustain<br />
|-<br />
|Gibheer || Stefan Radomski<br />
|-<br />
|gleu || Guillaume Lelarge<br />
|-<br />
|gorthx || [[User:Gabrielle|Gabrielle Roth]]<br />
|-<br />
|grzm || Michael Glaesemann<br />
|-<br />
|gsmet || Guillaume Smet<br />
|-<br />
|gregs1104 || Greg Smith<br />
|-<br />
|gurjeet || [[User:singh.gurjeet|Gurjeet Singh]]<br />
|-<br />
|G_SabinoMullane || Greg Sabino Mullane<br />
|-<br />
|HarrisonF || Harrison Fisk<br />
|-<br />
|ioguix || Jehan-Guillaume de Rorthais<br />
|-<br />
|indigo || Phil Frost<br />
|-<br />
|intgr || Marti Raudsepp<br />
|-<br />
|JanniCash || Jan Wieck<br />
|-<br />
|jconway || Joe Conway<br />
|-<br />
|jdavis, jdavis_ || Jeff Davis<br />
|-<br />
|jkatz05 || Jonathan S. Katz<br />
|-<br />
|johto || Marko Tiikkaja<br />
|-<br />
|jurka || Kris Jurka<br />
|-<br />
|justatheory || David Wheeler<br />
|-<br />
|jpa || Jean-Paul Argudo<br />
|-<br />
|jwp || James Pye<br />
|-<br />
|j_williams || Josh Williams<br />
|-<br />
|kgrittn || Kevin Grittner<br />
|-<br />
|klando || [[User:c2main|Cédric Villemain]]<br />
|-<br />
|larryrtx || Larry Rosenman<br />
|-<br />
|linuxpoet, postgresman || Joshua D. Drake<br />
|-<br />
|lluad || Steve Atkins<br />
|-<br />
|lsmith || Lukas Smith<br />
|-<br />
|mage_ || Julien Cigar<br />
|-<br />
|magnush || Magnus Hagander<br />
|-<br />
|marco44 || Marc Cousin<br />
|-<br />
|markwkm || Mark Wong<br />
|-<br />
|mastermind || [[user:mastermind | Stefan Kaltenbrunner]]<br />
|-<br />
|mbalmer || [[user:mbalmer | Marc Balmer]]<br />
|-<br />
|merlin83 || Chua Khee Chin<br />
|-<br />
|merlinm || Merlin Moncure<br />
|-<br />
|metatrontech || Chris Travers<br />
|-<br />
|miracee || Susanne Ebrecht<br />
|-<br />
|Moosbert || Peter Eisentraut<br />
|-<br />
|neilc || Neil Conway<br />
|-<br />
|oicu || Andrew Dunstan<br />
|-<br />
|okbobcz || Pavel Stehule<br />
|-<br />
|pg_docbot || [[IRCBotSyntax]]<br />
|-<br />
|pgSnake || Dave Page<br />
|-<br />
|PJMODOS || Petr Jel&iacute;nek<br />
|-<br />
|Possible || Robert Ivens<br />
|-<br />
|postwait || Theo Schlossnagle<br />
|-<br />
|prothid || R Brenton Strickler<br />
|-<br />
|psoo || Bernd Helmle<br />
|-<br />
|PSUdaemon || Phil Sorber<br />
|-<br />
|pyarra || Philip Yarra<br />
|-<br />
|raptelan || [[user:Cshobe|Casey Allen Shobe]]<br />
|-<br />
|rhaas || Robert Haas<br />
|-<br />
|RhodiumToad (formerly AndrewSN) || Andrew Gierth<br />
|-<br />
|Robe || [[user:Robe | Michael Renner]]<br />
|-<br />
|rotellaro || Federico Campoli<br />
|-<br />
|rz || Kirill Simonov<br />
|-<br />
|SAS || Stéphane Schildknecht<br />
|-<br />
|schmiddy || Josh Kupershmidt<br />
|-<br />
|scrappy || Marc G. Fournier<br />
|-<br />
|selenamarie || Selena Deckelmann<br />
|-<br />
|SkippyDigits || Sherri Kalm<br />
|-<br />
|Snow-Man || Stephen Frost<br />
|-<br />
|Spritz || Matteo Beccati<br />
|-<br />
|sternocera || Peter Geoghegan<br />
|-<br />
|StuckMojo, MojoWork || Jon Erdman<br />
|-<br />
|swm || Gavin Sherry<br />
|-<br />
|vy || Volkan YAZICI<br />
|-<br />
|wulczer || Jan Urbański<br />
|-<br />
|xaprb || Baron Schwartz<br />
|-<br />
|xocolatl || Vik Fearing<br />
|-<br />
|xzilla, xzi11a || [[User:Xzilla|Robert Treat]]<br />
|}<br />
<br />
[[Category:Community]]</div>Dimhttps://wiki.postgresql.org/index.php?title=PgCon_2013_Developer_Meeting&diff=19489PgCon 2013 Developer Meeting2013-05-01T09:14:49Z<p>Dim: /* Proposed Agenda Items */</p>
<hr />
<div>A meeting of the most active PostgreSQL developers is being planned for Wednesday 22nd May, 2013 near the University of Ottawa, prior to pgCon 2013. In order to keep the numbers manageable, this meeting is '''by invitation only'''. Unfortunately it is quite possible that we've overlooked important code developers during the planning of the event - if you feel you fall into this category and would like to attend, please contact Dave Page (dpage@pgadmin.org). <br />
<br />
Please note that this year the attendee numbers have been kept low in order to keep the meeting more productive. Invitations have been sent only to developers that have been highly active on the database server over the 9.3 release cycle. We have not invited any contributors based on their contributions to related projects, or seniority in regional user groups or sponsoring companies, unlike in previous years.<br />
<br />
This is a PostgreSQL Community event. Room and refreshments/food sponsored by EnterpriseDB. Other companies sponsored attendance for their developers.<br />
<br />
== Time & Location ==<br />
<br />
The meeting will be from 8:30AM to 5PM, and will be in the "Red Experience" room at:<br />
<br />
Novotel Ottawa<br />
33 Nicholas Street<br />
Ottawa<br />
Ontario<br />
K1N 9M7<br />
<br />
Food and drink will be provided throughout the day, including breakfast from 8AM.<br />
<br />
[http://maps.google.ca/maps?f=q&source=s_q&hl=en&geocode=&q=novotel+ottawa&aq=&sll=49.891235,-97.15369&sspn=36.237851,79.013672&ie=UTF8&hq=novotel+ottawa&hnear=&ll=45.421528,-75.683699&spn=0.036869,0.077162&z=14&iwloc=A&layer=c&cbll=45.425741,-75.689638&panoid=Z4FUGnkZkdHAOkIxyjjS9Q&cbp=12,25.83,,0,-0.6 View on Google Maps]<br />
<br />
== Attendees ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Josh Berkus (secretary)<br />
* Jeff Davis<br />
* Andrew Dunstan<br />
* Peter Eisentraut<br />
* Dimitri Fontaine<br />
* Andres Freund<br />
* Stephen Frost<br />
* Peter Geoghegan<br />
* Kevin Grittner<br />
* Robert Haas<br />
* Magnus Hagander<br />
* Alexander Korotkov<br />
* Fujii Masao<br />
* Noah Misch<br />
* Bruce Momjian<br />
* Tom Lane<br />
* Dave Page (chair)<br />
* Simon Riggs<br />
* KaiGai Kohei<br />
<br />
== Proposed Agenda Items ==<br />
<br />
Please list proposed agenda items here:<br />
<br />
* 9.4 Commitfest schedule<br />
* [http://wiki.postgresql.org/wiki/Parallel_Query_Execution Parallel Query Execution] (Bruce, Noah)<br />
* logical changeset generation review & integration (Andres)<br />
* utilization of upcoming non-volatile RAM device (Kaigai)<br />
* pluggable plan/exec nodes (Kaigai)<br />
** to offload targetlist calculation, sorting, aggregates, ...<br />
* [[GIN generalization]] (Alexander)<br />
* An Extensibility Roadmap (dim)</div>Dimhttps://wiki.postgresql.org/index.php?title=FOSDEM_2013&diff=18972FOSDEM 20132013-02-04T09:56:27Z<p>Dim: dim's talks at FOSDEM</p>
<hr />
<div>==Schedule==<br />
<br />
Schedule is available at the FOSDEM website: https://fosdem.org/2013/schedule/track/postgresql/<br />
<br />
== PGDay FOSDEM 2013 ==<br />
<br />
We are also organizing one-day event: https://wiki.postgresql.org/wiki/PGDay_FOSDEM_2013<br />
<br />
==Presentations==<br />
<br />
Slides of the presentations:<br />
<br />
<br />
== Talks: Friday, February 1st, 2013 ==<br />
<br />
=== Radisson Blu ===<br />
<br />
* Welcome (Magnus Hagander)<br />
* Sqitch: VCS-enabled database change management (Ronan Dunklau)<br />
* Postgresql 9.2 FTS Solutions (Emanuel Calvo)<br />
* Pagination done the PostgreSQL way (Markus Winand) [[File:Pagination_Done_the_PostgreSQL_Way.pdf]]<br />
* Announcements FOSDEM PGDay 2013 (Dave Page, Jean-Paul Argudo)<br />
* 3D an exact geometries for PostGIS (Hugo Mercier)<br />
* Understanding PostgreSQL timelines (Heikki Linnakangas)<br />
* Maintaining Very Large Databases (VLDs) (Devrim GÜNDÜZ)<br />
<br />
== Talks: Sunday, February 3rd, 2013 ==<br />
<br />
=== PostgreSQL FOSDEM Devroom ===<br />
<br />
* openbarter, a possible solution for ecological regulation (Olivier Chaussavoine)<br />
* [http://tapoueh.org/images/confs/Fosdem2013_Event_Triggers.pdf Event Triggers] (Dimitri Fontaine)<br />
* PostGIS 2.0 and beyond (Vincent Picavet)<br />
* Making apt.postgresql.org a reality (Christoph Berg)<br />
* Postgres Demystified (Craig Kerstiens)<br />
* PostgreSQL as a Schemaless Database (Christophe Pettus)<br />
* [http://tapoueh.org/images/confs/Fosdem2013_High_Availability.pdf Implementing High Availability] (Dimitri Fontaine)<br />
* Practical Tips for Better PostgreSQL Applications (Marc Balmer)<br />
<br />
<br />
Speakers: please upload your slides to the wiki and add a link above.<br />
<br />
[[Category:PostgreSQL Events]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Event_Triggers&diff=18938Event Triggers2013-01-30T17:06:24Z<p>Dim: /* DROP CASCADE support */</p>
<hr />
<div>== Event Triggers ==<br />
<br />
The Event Trigger patch series main goal is to allow for users to tweak DDL commands without having to hook in ProcessUtility(). The design has been made more general so that we can support important use cases.<br />
<br />
=== Main advantages over ProcessUtility hooks ===<br />
<br />
The first version of Event Triggers has very few technical capabilities to offer that we don't already have available in the form of ProcessUtility hooks, so, what's the deal here?<br />
<br />
* You can write event triggers functions in PL/pgSQL, no need to write them in C, build an extension, ship it to the server's file system and finally install it;<br />
<br />
* You can actually list the currently installed Event Triggers by doing \dy in psql;<br />
<br />
* In ''single user'' mode the Event Triggers are disabled, staying out of the way while you're busy fixing your production services;<br />
<br />
* It's possible to install more than one Event Trigger then decide as the DBA in which order to run the Event Triggers without having to decipher how the code is implemented and in which order the ''shared object librairies'' are going to be ''_Init()''ialized.<br />
<br />
=== Use Cases ===<br />
<br />
We attempt at being able to solve those use cases:<br />
<br />
* Logical Replication<br />
* Auditing<br />
* DDL support for Extensions<br />
* Impact analysis/performance<br />
<br />
==== Logical Replication ====<br />
<br />
We want to record a DDL changes in a way that allows it to be replayed elsewhere in a flexible way. So we need access to both the original text and the fully qualified text once all search paths are resolved, making both available to allow replication to decide which to use. We don't need to fire actions for every conceivable sub-statement, only enough that we can accurately reproduce what occurred. So for example, a DROP CASCADE might just need to be replayed as a DROP CASCADE. Query text is available from utility hooks, but fully cooked SQL event info is required.<br />
<br />
==== Auditing ====<br />
<br />
We need to be able to record Who did What to Whom/WhichObject, When they did it and whether it succeeded. So we need access to userid, username, actioncategory, actiontext, subjectcategory, subjectid, action time, rc<br />
<br />
==== Performance ====<br />
<br />
How long did we hold locks for? How long did the action take?<br />
<br />
=== Expected Features ===<br />
<br />
The first release of Event Triggers is landing in PostgreSQL 9.3 and we will have a restricted set of features in that release.<br />
<br />
==== Features ====<br />
<br />
So we want to provide those features:<br />
<br />
* Event Triggers that run either before or after a DDL command<br />
* User Functions should be provided with detailed information:<br />
** event name<br />
** command tag<br />
** operation (CREATE, ALTER or DROP)<br />
** object kind (TABLE, FUNCTION, VIEW, etc)<br />
** object OID<br />
** object name<br />
** schema name where the object lives<br />
** <br />
* support for DROP CASCADE<br />
* support for dropping multiple objects<br />
* support for ''generated'' commands<br />
<br />
=== Commited patches from the series ===<br />
<br />
Here's the list of what we already have:<br />
<br />
* Syntax support and documentation for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3855968f328918b6cd1401dd11d109d471a54d40<br />
** that was the first step, catalogs and grammar<br />
* Make new event trigger facility actually do something.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3a0e4d36ebd7f477822d5bae41ba121a40d22ccc<br />
** and now you can actually have your function called<br />
** it will only know about ''tg_event'' and ''tg_tag'' <br />
** and you can only write it in PLpgSQL<br />
* Adjust many backend functions to return OID rather than void.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c504513f83a9ee8dce4a719746ca73102cae9f13<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=82b1b213cad3a69cf5f3dfaa81687c14366960fc<br />
** that's a preparing step so that we can expose the object OID in the event trigger<br />
** not yet exposed though<br />
* Add ddl_command_end support for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=841a5150c575ccd89e4b03aec66eeeefb21f3cbe<br />
** so that you can call your event trigger when the object has already been ''CREATE''d<br />
<br />
=== Features still in the work for 9.3 === <br />
<br />
The main features we need and which are not yet commited in 9.3 are:<br />
<br />
* No specific information about the objects that the command target<br />
* No access to the parse tree or the command string, raw or normalized<br />
* No support for multiple targets per command<br />
** only DROP can target more than one object at a time<br />
** and DROP CASCADE is another special case of that<br />
* No support for ''generated'' commands<br />
<br />
The next point is detailing where the discussion is at about those features that we didn't commit yet.<br />
<br />
=== Discussion ===<br />
<br />
Some of the features are still under discussion in order to find the best design we can implement them.<br />
<br />
As a general note it's useful to recall that most of those features have already been coded at least once (some of them received one or more redesign and refactoring following review in the 9.2 and 9.3 cycles). So it's not about adding ''new'' features that we didn't see coming before, it's about finishing a patch series to match a subset of the features proposed a couple of years ago.<br />
<br />
The goal is to refine which subset we are ready to accept and to evaluate if we can ship with that subset as something that makes sense on its own.<br />
<br />
For example, with no information available at all about the specifics of the objects that a command is targeting, it's hard to see which use case you can actually solve with Event Triggers.<br />
<br />
==== ''generated'' and ''internal'' commands ====<br />
<br />
For context, the following command will actually run several operations:<br />
<br />
CREATE TABLE foo(id serial primary key, f1 text);<br />
<br />
We will have ''CREATE SEQUENCE'' then a new ''CREATE TABLE'' statement using the name of the sequence we just created, then ''ALTER SEQUENCE'' and finally a ''CREATE INDEX'' command. The current implementation of PostgreSQL backend is to form a ''parse node'' from scratch and send that to ProcessUtility() again, in a recursive way.<br />
<br />
The current patch proposal is to expose those with a ''CONTEXT'' of ''GENERATED'' that is not matched by default by any Event Trigger, and allow the user to opt-in when he's interested into that level of implementation detail.<br />
<br />
It might not be very wise to make that implementation detail visible to users because that would make us unable to clean the mess later, should any developer has round tuits or motivation to go about that some day.<br />
<br />
One idea is to only expose users who are willing to code their event trigger in C, and another idea is then to only expose them via a ''hook''. The problem with the ''hook'' approach is that you need to build and expose the exact same amount of information.<br />
<br />
==== DROP CASCADE / DROP OWNED support ====<br />
<br />
A patch has been sent to allow to call an Event Trigger for each object that is dropped as part of a command: http://www.postgresql.org/message-id/m2fw1ieq5x.fsf@2ndQuadrant.fr<br />
<br />
==== How to expose Information to Event Triggers Functions ====<br />
<br />
The current proposal is to expose some magic PL variables. The already commited code exposes ''TG_EVENT'' and ''TG_TAG''.<br />
<br />
We're proposing to add to that the most common pieces of information as variables, adding to them those that are really cheap to build (it's a constant string):<br />
<br />
* Variables<br />
** TG_OBJECTID<br />
** TG_OBJECTNAME<br />
** TG_SCHEMANAME<br />
** TG_OPERATION<br />
** TG_OBTYPENAME<br />
** TG_CONTEXT<br />
<br />
* Accessors<br />
** pg_get_event_command_string()<br />
<br />
About ''TG_CONTEXT'', see previous point.<br />
<br />
==== Command String Normalisation ====<br />
<br />
The main use case for the ''command string'' is Logical Replication. In that use case, it's very important to know off hand in which schemas the objects are created (resp. dropped, altered) and to some extend which names are given to automatically named objects (indexes, constraints, sequences).<br />
<br />
See<br />
* http://www.postgresql.org/message-id/CAFNqd5VuowUqXrHfWf_Ld-_szCUxaN3=RZD=XiVmNr_Yd=53QQ@mail.gmail.com<br />
* http://www.postgresql.org/message-id/51055F11.6040208@ca.afilias.info<br />
<br />
=== Features For Next Releases ===<br />
<br />
Some features we intended to provide already in 9.2 will have to wait until we are ready, which will not be the case in the 9.3 timeframe.<br />
<br />
==== INSTEAD OF ====<br />
<br />
The idea is to be able to install an Event Trigger that takes control over an existing command, to be able to re-define it, maybe in terms of the command itself:<br />
<br />
create event trigger my_create_extension instead of 'create extension'<br />
execute procedure my_create_extension();<br />
<br />
create function my_create_extension()<br />
returns event_trigger<br />
language plpgsql<br />
as $$<br />
begin<br />
alter event trigger my_create_extension disable;<br />
-- do some stuff here<br />
create extension tg_objectid;<br />
-- do some more stuff here, presumably<br />
end;<br />
$$;<br />
<br />
Unfortunately it's already clear that the ''INSTEAD OF'' feature implementation is too hard to get right from the first release of Event Triggers, because the call points in the backend code must be really carefully placed.<br />
<br />
==== table_rewrite ====<br />
<br />
The idea is to provide an event called ''table_rewrite'' that will fire any time a command that will rewrite the whole of the table is to be executed, so that the DBA can install a local policy about that (accept the rewrite only at night when it's not a full moon, say).<br />
<br />
==== create table on insert ====<br />
<br />
Some developers are getting used to ''schema less'' databases nowadays, and want to be have the behaviour that when they do<br />
<br />
INSERT INTO look_me_i_dont_exist(key, value) VALUES(1, 'foo');<br />
<br />
The table ''look_me_i_dont_exist'' is automatically created by PostgreSQL with two columns ''key'' of type ''integer'' (presumably) and ''value'' of type ''text'' here.<br />
<br />
[[Category:PostgreSQL 9.3]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Event_Triggers&diff=18937Event Triggers2013-01-30T17:02:33Z<p>Dim: </p>
<hr />
<div>== Event Triggers ==<br />
<br />
The Event Trigger patch series main goal is to allow for users to tweak DDL commands without having to hook in ProcessUtility(). The design has been made more general so that we can support important use cases.<br />
<br />
=== Main advantages over ProcessUtility hooks ===<br />
<br />
The first version of Event Triggers has very few technical capabilities to offer that we don't already have available in the form of ProcessUtility hooks, so, what's the deal here?<br />
<br />
* You can write event triggers functions in PL/pgSQL, no need to write them in C, build an extension, ship it to the server's file system and finally install it;<br />
<br />
* You can actually list the currently installed Event Triggers by doing \dy in psql;<br />
<br />
* In ''single user'' mode the Event Triggers are disabled, staying out of the way while you're busy fixing your production services;<br />
<br />
* It's possible to install more than one Event Trigger then decide as the DBA in which order to run the Event Triggers without having to decipher how the code is implemented and in which order the ''shared object librairies'' are going to be ''_Init()''ialized.<br />
<br />
=== Use Cases ===<br />
<br />
We attempt at being able to solve those use cases:<br />
<br />
* Logical Replication<br />
* Auditing<br />
* DDL support for Extensions<br />
* Impact analysis/performance<br />
<br />
==== Logical Replication ====<br />
<br />
We want to record a DDL changes in a way that allows it to be replayed elsewhere in a flexible way. So we need access to both the original text and the fully qualified text once all search paths are resolved, making both available to allow replication to decide which to use. We don't need to fire actions for every conceivable sub-statement, only enough that we can accurately reproduce what occurred. So for example, a DROP CASCADE might just need to be replayed as a DROP CASCADE. Query text is available from utility hooks, but fully cooked SQL event info is required.<br />
<br />
==== Auditing ====<br />
<br />
We need to be able to record Who did What to Whom/WhichObject, When they did it and whether it succeeded. So we need access to userid, username, actioncategory, actiontext, subjectcategory, subjectid, action time, rc<br />
<br />
==== Performance ====<br />
<br />
How long did we hold locks for? How long did the action take?<br />
<br />
=== Expected Features ===<br />
<br />
The first release of Event Triggers is landing in PostgreSQL 9.3 and we will have a restricted set of features in that release.<br />
<br />
==== Features ====<br />
<br />
So we want to provide those features:<br />
<br />
* Event Triggers that run either before or after a DDL command<br />
* User Functions should be provided with detailed information:<br />
** event name<br />
** command tag<br />
** operation (CREATE, ALTER or DROP)<br />
** object kind (TABLE, FUNCTION, VIEW, etc)<br />
** object OID<br />
** object name<br />
** schema name where the object lives<br />
** <br />
* support for DROP CASCADE<br />
* support for dropping multiple objects<br />
* support for ''generated'' commands<br />
<br />
=== Commited patches from the series ===<br />
<br />
Here's the list of what we already have:<br />
<br />
* Syntax support and documentation for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3855968f328918b6cd1401dd11d109d471a54d40<br />
** that was the first step, catalogs and grammar<br />
* Make new event trigger facility actually do something.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3a0e4d36ebd7f477822d5bae41ba121a40d22ccc<br />
** and now you can actually have your function called<br />
** it will only know about ''tg_event'' and ''tg_tag'' <br />
** and you can only write it in PLpgSQL<br />
* Adjust many backend functions to return OID rather than void.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c504513f83a9ee8dce4a719746ca73102cae9f13<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=82b1b213cad3a69cf5f3dfaa81687c14366960fc<br />
** that's a preparing step so that we can expose the object OID in the event trigger<br />
** not yet exposed though<br />
* Add ddl_command_end support for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=841a5150c575ccd89e4b03aec66eeeefb21f3cbe<br />
** so that you can call your event trigger when the object has already been ''CREATE''d<br />
<br />
=== Features still in the work for 9.3 === <br />
<br />
The main features we need and which are not yet commited in 9.3 are:<br />
<br />
* No specific information about the objects that the command target<br />
* No access to the parse tree or the command string, raw or normalized<br />
* No support for multiple targets per command<br />
** only DROP can target more than one object at a time<br />
** and DROP CASCADE is another special case of that<br />
* No support for ''generated'' commands<br />
<br />
The next point is detailing where the discussion is at about those features that we didn't commit yet.<br />
<br />
=== Discussion ===<br />
<br />
Some of the features are still under discussion in order to find the best design we can implement them.<br />
<br />
As a general note it's useful to recall that most of those features have already been coded at least once (some of them received one or more redesign and refactoring following review in the 9.2 and 9.3 cycles). So it's not about adding ''new'' features that we didn't see coming before, it's about finishing a patch series to match a subset of the features proposed a couple of years ago.<br />
<br />
The goal is to refine which subset we are ready to accept and to evaluate if we can ship with that subset as something that makes sense on its own.<br />
<br />
For example, with no information available at all about the specifics of the objects that a command is targeting, it's hard to see which use case you can actually solve with Event Triggers.<br />
<br />
==== ''generated'' and ''internal'' commands ====<br />
<br />
For context, the following command will actually run several operations:<br />
<br />
CREATE TABLE foo(id serial primary key, f1 text);<br />
<br />
We will have ''CREATE SEQUENCE'' then a new ''CREATE TABLE'' statement using the name of the sequence we just created, then ''ALTER SEQUENCE'' and finally a ''CREATE INDEX'' command. The current implementation of PostgreSQL backend is to form a ''parse node'' from scratch and send that to ProcessUtility() again, in a recursive way.<br />
<br />
The current patch proposal is to expose those with a ''CONTEXT'' of ''GENERATED'' that is not matched by default by any Event Trigger, and allow the user to opt-in when he's interested into that level of implementation detail.<br />
<br />
It might not be very wise to make that implementation detail visible to users because that would make us unable to clean the mess later, should any developer has round tuits or motivation to go about that some day.<br />
<br />
One idea is to only expose users who are willing to code their event trigger in C, and another idea is then to only expose them via a ''hook''. The problem with the ''hook'' approach is that you need to build and expose the exact same amount of information.<br />
<br />
==== DROP CASCADE support ====<br />
<br />
A patch has been sent to allow to call an Event Trigger for each object that is dropped as part of a command: http://www.postgresql.org/message-id/m2fw1ieq5x.fsf@2ndQuadrant.fr<br />
<br />
==== How to expose Information to Event Triggers Functions ====<br />
<br />
The current proposal is to expose some magic PL variables. The already commited code exposes ''TG_EVENT'' and ''TG_TAG''.<br />
<br />
We're proposing to add to that the most common pieces of information as variables, adding to them those that are really cheap to build (it's a constant string):<br />
<br />
* Variables<br />
** TG_OBJECTID<br />
** TG_OBJECTNAME<br />
** TG_SCHEMANAME<br />
** TG_OPERATION<br />
** TG_OBTYPENAME<br />
** TG_CONTEXT<br />
<br />
* Accessors<br />
** pg_get_event_command_string()<br />
<br />
About ''TG_CONTEXT'', see previous point.<br />
<br />
==== Command String Normalisation ====<br />
<br />
The main use case for the ''command string'' is Logical Replication. In that use case, it's very important to know off hand in which schemas the objects are created (resp. dropped, altered) and to some extend which names are given to automatically named objects (indexes, constraints, sequences).<br />
<br />
See<br />
* http://www.postgresql.org/message-id/CAFNqd5VuowUqXrHfWf_Ld-_szCUxaN3=RZD=XiVmNr_Yd=53QQ@mail.gmail.com<br />
* http://www.postgresql.org/message-id/51055F11.6040208@ca.afilias.info<br />
<br />
=== Features For Next Releases ===<br />
<br />
Some features we intended to provide already in 9.2 will have to wait until we are ready, which will not be the case in the 9.3 timeframe.<br />
<br />
==== INSTEAD OF ====<br />
<br />
The idea is to be able to install an Event Trigger that takes control over an existing command, to be able to re-define it, maybe in terms of the command itself:<br />
<br />
create event trigger my_create_extension instead of 'create extension'<br />
execute procedure my_create_extension();<br />
<br />
create function my_create_extension()<br />
returns event_trigger<br />
language plpgsql<br />
as $$<br />
begin<br />
alter event trigger my_create_extension disable;<br />
-- do some stuff here<br />
create extension tg_objectid;<br />
-- do some more stuff here, presumably<br />
end;<br />
$$;<br />
<br />
Unfortunately it's already clear that the ''INSTEAD OF'' feature implementation is too hard to get right from the first release of Event Triggers, because the call points in the backend code must be really carefully placed.<br />
<br />
==== table_rewrite ====<br />
<br />
The idea is to provide an event called ''table_rewrite'' that will fire any time a command that will rewrite the whole of the table is to be executed, so that the DBA can install a local policy about that (accept the rewrite only at night when it's not a full moon, say).<br />
<br />
==== create table on insert ====<br />
<br />
Some developers are getting used to ''schema less'' databases nowadays, and want to be have the behaviour that when they do<br />
<br />
INSERT INTO look_me_i_dont_exist(key, value) VALUES(1, 'foo');<br />
<br />
The table ''look_me_i_dont_exist'' is automatically created by PostgreSQL with two columns ''key'' of type ''integer'' (presumably) and ''value'' of type ''text'' here.<br />
<br />
[[Category:PostgreSQL 9.3]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Event_Triggers&diff=18934Event Triggers2013-01-30T16:35:32Z<p>Dim: /* Missing features for 9.3 */</p>
<hr />
<div>== Event Triggers ==<br />
<br />
The Event Trigger patch series main goal is to allow for users to tweak DDL commands without having to hook in ProcessUtility(). The design has been made more general so that we can support important use cases.<br />
<br />
=== Main advantages over ProcessUtility hooks ===<br />
<br />
The first version of Event Triggers has very few technical capabilities to offer that we don't already have available in the form of ProcessUtility hooks, so, what's the deal here?<br />
<br />
* You can write event triggers functions in PL/pgSQL, no need to write them in C, build an extension, ship it to the server's file system and finally install it;<br />
<br />
* You can actually list the currently installed Event Triggers by doing \dy in psql;<br />
<br />
* In ''single user'' mode the Event Triggers are disabled, staying out of the way while you're busy fixing your production services;<br />
<br />
* It's possible to install more than one Event Trigger then decide as the DBA in which order to run the Event Triggers without having to decipher how the code is implemented and in which order the ''shared object librairies'' are going to be ''_Init()''ialized.<br />
<br />
=== Expected Features ===<br />
<br />
The first release of Event Triggers is landing in PostgreSQL 9.3 and we will have a restricted set of features in that relase.<br />
<br />
==== Use Cases ====<br />
<br />
We attempt at being able to solve those use cases:<br />
<br />
* Logical Replication<br />
* Auditing<br />
* DDL support for Extensions<br />
<br />
==== Features ====<br />
<br />
So we want to provide those features:<br />
<br />
* Event Triggers that run either before or after a DDL command<br />
* User Functions should be provided with detailed information:<br />
** event name<br />
** command tag<br />
** operation (CREATE, ALTER or DROP)<br />
** object kind (TABLE, FUNCTION, VIEW, etc)<br />
** object OID<br />
** object name<br />
** schema name where the object lives<br />
** <br />
* support for DROP CASCADE<br />
* support for dropping multiple objects<br />
* support for ''generated'' commands<br />
<br />
=== Commited patches from the series ===<br />
<br />
Here's the list of what we already have:<br />
<br />
* Syntax support and documentation for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3855968f328918b6cd1401dd11d109d471a54d40<br />
** that was the first step, catalogs and grammar<br />
* Make new event trigger facility actually do something.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3a0e4d36ebd7f477822d5bae41ba121a40d22ccc<br />
** and now you can actually have your function called<br />
** it will only know about ''tg_event'' and ''tg_tag'' <br />
** and you can only write it in PLpgSQL<br />
* Adjust many backend functions to return OID rather than void.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c504513f83a9ee8dce4a719746ca73102cae9f13<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=82b1b213cad3a69cf5f3dfaa81687c14366960fc<br />
** that's a preparing step so that we can expose the object OID in the event trigger<br />
** not yet exposed though<br />
* Add ddl_command_end support for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=841a5150c575ccd89e4b03aec66eeeefb21f3cbe<br />
** so that you can call your event trigger when the object has already been ''CREATE''d<br />
<br />
=== Missing features for 9.3 === <br />
<br />
The main features we need and which are not yet commited in 9.3 are:<br />
<br />
* No specific information about the objects that the command target<br />
* No access to the parse tree or the command string, raw or normalized<br />
* No support for multiple targets per command<br />
** only DROP can target more than one object at a time<br />
** and DROP CASCADE is another special case of that<br />
* No support for ''generated'' commands<br />
<br />
The next point is detailing where the discussion is at about those features that we didn't commit yet.<br />
<br />
=== Discussion ===<br />
<br />
Some of the features are still under discussion in order to find the best design we can implement them.<br />
<br />
As a general note it's useful to recall that most of those features have already been coded at least once (some of them received one or more redesign and refactoring following review in the 9.2 and 9.3 cycles). So it's not about adding ''new'' features that we didn't see coming before, it's about finishing a patch series to match a subset of the features proposed a couple of years ago.<br />
<br />
The goal is to refine which subset we are ready to accept and to evaluate if we can ship with that subset as something that makes sense on its own.<br />
<br />
For example, with no information available at all about the specifics of the objects that a command is targeting, it's hard to see which use case you can actually solve with Event Triggers.<br />
<br />
==== ''generated'' and ''internal'' commands ====<br />
<br />
For context, the following command will actually run several operations:<br />
<br />
CREATE TABLE foo(id serial primary key, f1 text);<br />
<br />
We will have ''CREATE SEQUENCE'' then a new ''CREATE TABLE'' statement using the name of the sequence we just created, then ''ALTER SEQUENCE'' and finally a ''CREATE INDEX'' command. The current implementation of PostgreSQL backend is to form a ''parse node'' from scratch and send that to ProcessUtility() again, in a recursive way.<br />
<br />
The current patch proposal is to expose those with a ''CONTEXT'' of ''GENERATED'' that is not matched by default by any Event Trigger, and allow the user to opt-in when he's interested into that level of implementation detail.<br />
<br />
It might not be very wise to make that implementation detail visible to users because that would make us unable to clean the mess later, should any developer has round tuits or motivation to go about that some day.<br />
<br />
One idea is to only expose users who are willing to code their event trigger in C, and another idea is then to only expose them via a ''hook''. The problem with the ''hook'' approach is that you need to build and expose the exact same amount of information.<br />
<br />
==== DROP CASCADE support ====<br />
<br />
A patch has been sent to allow to call an Event Trigger for each object that is dropped as part of a command: http://www.postgresql.org/message-id/m2fw1ieq5x.fsf@2ndQuadrant.fr<br />
<br />
==== How to expose Information to Event Triggers Functions ====<br />
<br />
The current proposal is to expose some magic PL variables. The already commited code exposes ''TG_EVENT'' and ''TG_TAG''.<br />
<br />
We're proposing to add to that the most common pieces of information as variables, adding to them those that are really cheap to build (it's a constant string):<br />
<br />
* Variables<br />
** TG_OBJECTID<br />
** TG_OBJECTNAME<br />
** TG_SCHEMANAME<br />
** TG_OPERATION<br />
** TG_OBTYPENAME<br />
** TG_CONTEXT<br />
<br />
* Accessors<br />
** pg_get_event_command_string()<br />
<br />
About ''TG_CONTEXT'', see previous point.<br />
<br />
==== Command String Normalisation ====<br />
<br />
The main use case for the ''command string'' is Logical Replication. In that use case, it's very important to know off hand in which schemas the objects are created (resp. dropped, altered) and to some extend which names are given to automatically named objects (indexes, constraints, sequences).<br />
<br />
See<br />
* http://www.postgresql.org/message-id/CAFNqd5VuowUqXrHfWf_Ld-_szCUxaN3=RZD=XiVmNr_Yd=53QQ@mail.gmail.com<br />
* http://www.postgresql.org/message-id/51055F11.6040208@ca.afilias.info<br />
<br />
=== Features For Next Releases ===<br />
<br />
Some features we intended to provide already in 9.2 will have to wait until we are ready, which will not be the case in the 9.3 timeframe.<br />
<br />
==== INSTEAD OF ====<br />
<br />
The idea is to be able to install an Event Trigger that takes control over an existing command, to be able to re-define it, maybe in terms of the command itself:<br />
<br />
create event trigger my_create_extension instead of 'create extension'<br />
execute procedure my_create_extension();<br />
<br />
create function my_create_extension()<br />
returns event_trigger<br />
language plpgsql<br />
as $$<br />
begin<br />
alter event trigger my_create_extension disable;<br />
-- do some stuff here<br />
create extension tg_objectid;<br />
-- do some more stuff here, presumably<br />
end;<br />
$$;<br />
<br />
Unfortunately it's already clear that the ''INSTEAD OF'' feature implementation is too hard to get right from the first release of Event Triggers, because the call points in the backend code must be really carefully placed.<br />
<br />
==== table_rewrite ====<br />
<br />
The idea is to provide an event called ''table_rewrite'' that will fire any time a command that will rewrite the whole of the table is to be executed, so that the DBA can install a local policy about that (accept the rewrite only at night when it's not a full moon, say).<br />
<br />
==== create table on insert ====<br />
<br />
Some developers are getting used to ''schema less'' databases nowadays, and want to be have the behaviour that when they do<br />
<br />
INSERT INTO look_me_i_dont_exist(key, value) VALUES(1, 'foo');<br />
<br />
The table ''look_me_i_dont_exist'' is automatically created by PostgreSQL with two columns ''key'' of type ''integer'' (presumably) and ''value'' of type ''text'' here.<br />
<br />
[[Category:PostgreSQL 9.3]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Event_Triggers&diff=18933Event Triggers2013-01-30T16:29:36Z<p>Dim: /* Distributed Sequences */</p>
<hr />
<div>== Event Triggers ==<br />
<br />
The Event Trigger patch series main goal is to allow for users to tweak DDL commands without having to hook in ProcessUtility(). The design has been made more general so that we can support important use cases.<br />
<br />
=== Main advantages over ProcessUtility hooks ===<br />
<br />
The first version of Event Triggers has very few technical capabilities to offer that we don't already have available in the form of ProcessUtility hooks, so, what's the deal here?<br />
<br />
* You can write event triggers functions in PL/pgSQL, no need to write them in C, build an extension, ship it to the server's file system and finally install it;<br />
<br />
* You can actually list the currently installed Event Triggers by doing \dy in psql;<br />
<br />
* In ''single user'' mode the Event Triggers are disabled, staying out of the way while you're busy fixing your production services;<br />
<br />
* It's possible to install more than one Event Trigger then decide as the DBA in which order to run the Event Triggers without having to decipher how the code is implemented and in which order the ''shared object librairies'' are going to be ''_Init()''ialized.<br />
<br />
=== Expected Features ===<br />
<br />
The first release of Event Triggers is landing in PostgreSQL 9.3 and we will have a restricted set of features in that relase.<br />
<br />
==== Use Cases ====<br />
<br />
We attempt at being able to solve those use cases:<br />
<br />
* Logical Replication<br />
* Auditing<br />
* DDL support for Extensions<br />
<br />
==== Features ====<br />
<br />
So we want to provide those features:<br />
<br />
* Event Triggers that run either before or after a DDL command<br />
* User Functions should be provided with detailed information:<br />
** event name<br />
** command tag<br />
** operation (CREATE, ALTER or DROP)<br />
** object kind (TABLE, FUNCTION, VIEW, etc)<br />
** object OID<br />
** object name<br />
** schema name where the object lives<br />
** <br />
* support for DROP CASCADE<br />
* support for dropping multiple objects<br />
* support for ''generated'' commands<br />
<br />
=== Commited patches from the series ===<br />
<br />
Here's the list of what we already have:<br />
<br />
* Syntax support and documentation for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3855968f328918b6cd1401dd11d109d471a54d40<br />
** that was the first step, catalogs and grammar<br />
* Make new event trigger facility actually do something.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3a0e4d36ebd7f477822d5bae41ba121a40d22ccc<br />
** and now you can actually have your function called<br />
** it will only know about ''tg_event'' and ''tg_tag'' <br />
** and you can only write it in PLpgSQL<br />
* Adjust many backend functions to return OID rather than void.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c504513f83a9ee8dce4a719746ca73102cae9f13<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=82b1b213cad3a69cf5f3dfaa81687c14366960fc<br />
** that's a preparing step so that we can expose the object OID in the event trigger<br />
** not yet exposed though<br />
* Add ddl_command_end support for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=841a5150c575ccd89e4b03aec66eeeefb21f3cbe<br />
** so that you can call your event trigger when the object has already been ''CREATE''d<br />
<br />
=== Missing features for 9.3 === <br />
<br />
The main missing features are:<br />
<br />
* No specific information about the objects that the command target<br />
* No access to the parse tree or the command string, raw or normalized<br />
* No support for multiple targets per command<br />
** only DROP can target more than one object at a time<br />
** and DROP CASCADE is another special case of that<br />
* No support for ''generated'' commands<br />
<br />
=== Discussion ===<br />
<br />
Some of the features are still under discussion in order to find the best design we can implement them.<br />
<br />
As a general note it's useful to recall that most of those features have already been coded at least once (some of them received one or more redesign and refactoring following review in the 9.2 and 9.3 cycles). So it's not about adding ''new'' features that we didn't see coming before, it's about finishing a patch series to match a subset of the features proposed a couple of years ago.<br />
<br />
The goal is to refine which subset we are ready to accept and to evaluate if we can ship with that subset as something that makes sense on its own.<br />
<br />
For example, with no information available at all about the specifics of the objects that a command is targeting, it's hard to see which use case you can actually solve with Event Triggers.<br />
<br />
==== ''generated'' and ''internal'' commands ====<br />
<br />
For context, the following command will actually run several operations:<br />
<br />
CREATE TABLE foo(id serial primary key, f1 text);<br />
<br />
We will have ''CREATE SEQUENCE'' then a new ''CREATE TABLE'' statement using the name of the sequence we just created, then ''ALTER SEQUENCE'' and finally a ''CREATE INDEX'' command. The current implementation of PostgreSQL backend is to form a ''parse node'' from scratch and send that to ProcessUtility() again, in a recursive way.<br />
<br />
The current patch proposal is to expose those with a ''CONTEXT'' of ''GENERATED'' that is not matched by default by any Event Trigger, and allow the user to opt-in when he's interested into that level of implementation detail.<br />
<br />
It might not be very wise to make that implementation detail visible to users because that would make us unable to clean the mess later, should any developer has round tuits or motivation to go about that some day.<br />
<br />
One idea is to only expose users who are willing to code their event trigger in C, and another idea is then to only expose them via a ''hook''. The problem with the ''hook'' approach is that you need to build and expose the exact same amount of information.<br />
<br />
==== DROP CASCADE support ====<br />
<br />
A patch has been sent to allow to call an Event Trigger for each object that is dropped as part of a command: http://www.postgresql.org/message-id/m2fw1ieq5x.fsf@2ndQuadrant.fr<br />
<br />
==== How to expose Information to Event Triggers Functions ====<br />
<br />
The current proposal is to expose some magic PL variables. The already commited code exposes ''TG_EVENT'' and ''TG_TAG''.<br />
<br />
We're proposing to add to that the most common pieces of information as variables, adding to them those that are really cheap to build (it's a constant string):<br />
<br />
* Variables<br />
** TG_OBJECTID<br />
** TG_OBJECTNAME<br />
** TG_SCHEMANAME<br />
** TG_OPERATION<br />
** TG_OBTYPENAME<br />
** TG_CONTEXT<br />
<br />
* Accessors<br />
** pg_get_event_command_string()<br />
<br />
About ''TG_CONTEXT'', see previous point.<br />
<br />
==== Command String Normalisation ====<br />
<br />
The main use case for the ''command string'' is Logical Replication. In that use case, it's very important to know off hand in which schemas the objects are created (resp. dropped, altered) and to some extend which names are given to automatically named objects (indexes, constraints, sequences).<br />
<br />
See<br />
* http://www.postgresql.org/message-id/CAFNqd5VuowUqXrHfWf_Ld-_szCUxaN3=RZD=XiVmNr_Yd=53QQ@mail.gmail.com<br />
* http://www.postgresql.org/message-id/51055F11.6040208@ca.afilias.info<br />
<br />
=== Features For Next Releases ===<br />
<br />
Some features we intended to provide already in 9.2 will have to wait until we are ready, which will not be the case in the 9.3 timeframe.<br />
<br />
==== INSTEAD OF ====<br />
<br />
The idea is to be able to install an Event Trigger that takes control over an existing command, to be able to re-define it, maybe in terms of the command itself:<br />
<br />
create event trigger my_create_extension instead of 'create extension'<br />
execute procedure my_create_extension();<br />
<br />
create function my_create_extension()<br />
returns event_trigger<br />
language plpgsql<br />
as $$<br />
begin<br />
alter event trigger my_create_extension disable;<br />
-- do some stuff here<br />
create extension tg_objectid;<br />
-- do some more stuff here, presumably<br />
end;<br />
$$;<br />
<br />
Unfortunately it's already clear that the ''INSTEAD OF'' feature implementation is too hard to get right from the first release of Event Triggers, because the call points in the backend code must be really carefully placed.<br />
<br />
==== table_rewrite ====<br />
<br />
The idea is to provide an event called ''table_rewrite'' that will fire any time a command that will rewrite the whole of the table is to be executed, so that the DBA can install a local policy about that (accept the rewrite only at night when it's not a full moon, say).<br />
<br />
==== create table on insert ====<br />
<br />
Some developers are getting used to ''schema less'' databases nowadays, and want to be have the behaviour that when they do<br />
<br />
INSERT INTO look_me_i_dont_exist(key, value) VALUES(1, 'foo');<br />
<br />
The table ''look_me_i_dont_exist'' is automatically created by PostgreSQL with two columns ''key'' of type ''integer'' (presumably) and ''value'' of type ''text'' here.<br />
<br />
[[Category:PostgreSQL 9.3]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Event_Triggers&diff=18931Event Triggers2013-01-30T16:25:41Z<p>Dim: /* Distributed Sequences */</p>
<hr />
<div>== Event Triggers ==<br />
<br />
The Event Trigger patch series main goal is to allow for users to tweak DDL commands without having to hook in ProcessUtility(). The design has been made more general so that we can support important use cases.<br />
<br />
=== Main advantages over ProcessUtility hooks ===<br />
<br />
The first version of Event Triggers has very few technical capabilities to offer that we don't already have available in the form of ProcessUtility hooks, so, what's the deal here?<br />
<br />
* You can write event triggers functions in PL/pgSQL, no need to write them in C, build an extension, ship it to the server's file system and finally install it;<br />
<br />
* You can actually list the currently installed Event Triggers by doing \dy in psql;<br />
<br />
* In ''single user'' mode the Event Triggers are disabled, staying out of the way while you're busy fixing your production services;<br />
<br />
* It's possible to install more than one Event Trigger then decide as the DBA in which order to run the Event Triggers without having to decipher how the code is implemented and in which order the ''shared object librairies'' are going to be ''_Init()''ialized.<br />
<br />
=== Expected Features ===<br />
<br />
The first release of Event Triggers is landing in PostgreSQL 9.3 and we will have a restricted set of features in that relase.<br />
<br />
==== Use Cases ====<br />
<br />
We attempt at being able to solve those use cases:<br />
<br />
* Logical Replication<br />
* Auditing<br />
* DDL support for Extensions<br />
<br />
==== Features ====<br />
<br />
So we want to provide those features:<br />
<br />
* Event Triggers that run either before or after a DDL command<br />
* User Functions should be provided with detailed information:<br />
** event name<br />
** command tag<br />
** operation (CREATE, ALTER or DROP)<br />
** object kind (TABLE, FUNCTION, VIEW, etc)<br />
** object OID<br />
** object name<br />
** schema name where the object lives<br />
** <br />
* support for DROP CASCADE<br />
* support for dropping multiple objects<br />
* support for ''generated'' commands<br />
<br />
=== Commited patches from the series ===<br />
<br />
Here's the list of what we already have:<br />
<br />
* Syntax support and documentation for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3855968f328918b6cd1401dd11d109d471a54d40<br />
** that was the first step, catalogs and grammar<br />
* Make new event trigger facility actually do something.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3a0e4d36ebd7f477822d5bae41ba121a40d22ccc<br />
** and now you can actually have your function called<br />
** it will only know about ''tg_event'' and ''tg_tag'' <br />
** and you can only write it in PLpgSQL<br />
* Adjust many backend functions to return OID rather than void.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c504513f83a9ee8dce4a719746ca73102cae9f13<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=82b1b213cad3a69cf5f3dfaa81687c14366960fc<br />
** that's a preparing step so that we can expose the object OID in the event trigger<br />
** not yet exposed though<br />
* Add ddl_command_end support for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=841a5150c575ccd89e4b03aec66eeeefb21f3cbe<br />
** so that you can call your event trigger when the object has already been ''CREATE''d<br />
<br />
=== Missing features for 9.3 === <br />
<br />
The main missing features are:<br />
<br />
* No specific information about the objects that the command target<br />
* No access to the parse tree or the command string, raw or normalized<br />
* No support for multiple targets per command<br />
** only DROP can target more than one object at a time<br />
** and DROP CASCADE is another special case of that<br />
* No support for ''generated'' commands<br />
<br />
=== Discussion ===<br />
<br />
Some of the features are still under discussion in order to find the best design we can implement them.<br />
<br />
As a general note it's useful to recall that most of those features have already been coded at least once (some of them received one or more redesign and refactoring following review in the 9.2 and 9.3 cycles). So it's not about adding ''new'' features that we didn't see coming before, it's about finishing a patch series to match a subset of the features proposed a couple of years ago.<br />
<br />
The goal is to refine which subset we are ready to accept and to evaluate if we can ship with that subset as something that makes sense on its own.<br />
<br />
For example, with no information available at all about the specifics of the objects that a command is targeting, it's hard to see which use case you can actually solve with Event Triggers.<br />
<br />
==== ''generated'' and ''internal'' commands ====<br />
<br />
For context, the following command will actually run several operations:<br />
<br />
CREATE TABLE foo(id serial primary key, f1 text);<br />
<br />
We will have ''CREATE SEQUENCE'' then a new ''CREATE TABLE'' statement using the name of the sequence we just created, then ''ALTER SEQUENCE'' and finally a ''CREATE INDEX'' command. The current implementation of PostgreSQL backend is to form a ''parse node'' from scratch and send that to ProcessUtility() again, in a recursive way.<br />
<br />
The current patch proposal is to expose those with a ''CONTEXT'' of ''GENERATED'' that is not matched by default by any Event Trigger, and allow the user to opt-in when he's interested into that level of implementation detail.<br />
<br />
It might not be very wise to make that implementation detail visible to users because that would make us unable to clean the mess later, should any developer has round tuits or motivation to go about that some day.<br />
<br />
One idea is to only expose users who are willing to code their event trigger in C, and another idea is then to only expose them via a ''hook''. The problem with the ''hook'' approach is that you need to build and expose the exact same amount of information.<br />
<br />
==== DROP CASCADE support ====<br />
<br />
A patch has been sent to allow to call an Event Trigger for each object that is dropped as part of a command: http://www.postgresql.org/message-id/m2fw1ieq5x.fsf@2ndQuadrant.fr<br />
<br />
==== How to expose Information to Event Triggers Functions ====<br />
<br />
The current proposal is to expose some magic PL variables. The already commited code exposes ''TG_EVENT'' and ''TG_TAG''.<br />
<br />
We're proposing to add to that the most common pieces of information as variables, adding to them those that are really cheap to build (it's a constant string):<br />
<br />
* Variables<br />
** TG_OBJECTID<br />
** TG_OBJECTNAME<br />
** TG_SCHEMANAME<br />
** TG_OPERATION<br />
** TG_OBTYPENAME<br />
** TG_CONTEXT<br />
<br />
* Accessors<br />
** pg_get_event_command_string()<br />
<br />
About ''TG_CONTEXT'', see previous point.<br />
<br />
==== Command String Normalisation ====<br />
<br />
The main use case for the ''command string'' is Logical Replication. In that use case, it's very important to know off hand in which schemas the objects are created (resp. dropped, altered) and to some extend which names are given to automatically named objects (indexes, constraints, sequences).<br />
<br />
See<br />
* http://www.postgresql.org/message-id/CAFNqd5VuowUqXrHfWf_Ld-_szCUxaN3=RZD=XiVmNr_Yd=53QQ@mail.gmail.com<br />
* http://www.postgresql.org/message-id/51055F11.6040208@ca.afilias.info<br />
<br />
==== Distributed Sequences ====<br />
<br />
In the Logical Replication use case, it's important to be able, from an event trigger, to make it so that a ''CREATE SEQUENCE'' will in fact create a ''distributed'' sequence, in certain cases determined by the logical replication system (not known in the backend).<br />
<br />
=== Features For Next Releases ===<br />
<br />
Some features we intended to provide already in 9.2 will have to wait until we are ready, which will not be the case in the 9.3 timeframe.<br />
<br />
==== INSTEAD OF ====<br />
<br />
The idea is to be able to install an Event Trigger that takes control over an existing command, to be able to re-define it, maybe in terms of the command itself:<br />
<br />
create event trigger my_create_extension instead of 'create extension'<br />
execute procedure my_create_extension();<br />
<br />
create function my_create_extension()<br />
returns event_trigger<br />
language plpgsql<br />
as $$<br />
begin<br />
alter event trigger my_create_extension disable;<br />
-- do some stuff here<br />
create extension tg_objectid;<br />
-- do some more stuff here, presumably<br />
end;<br />
$$;<br />
<br />
Unfortunately it's already clear that the ''INSTEAD OF'' feature implementation is too hard to get right from the first release of Event Triggers, because the call points in the backend code must be really carefully placed.<br />
<br />
==== table_rewrite ====<br />
<br />
The idea is to provide an event called ''table_rewrite'' that will fire any time a command that will rewrite the whole of the table is to be executed, so that the DBA can install a local policy about that (accept the rewrite only at night when it's not a full moon, say).<br />
<br />
==== create table on insert ====<br />
<br />
Some developers are getting used to ''schema less'' databases nowadays, and want to be have the behaviour that when they do<br />
<br />
INSERT INTO look_me_i_dont_exist(key, value) VALUES(1, 'foo');<br />
<br />
The table ''look_me_i_dont_exist'' is automatically created by PostgreSQL with two columns ''key'' of type ''integer'' (presumably) and ''value'' of type ''text'' here.<br />
<br />
[[Category:PostgreSQL 9.3]]</div>Dimhttps://wiki.postgresql.org/index.php?title=Event_Triggers&diff=18930Event Triggers2013-01-30T16:25:07Z<p>Dim: /* Command String Normalisation */</p>
<hr />
<div>== Event Triggers ==<br />
<br />
The Event Trigger patch series main goal is to allow for users to tweak DDL commands without having to hook in ProcessUtility(). The design has been made more general so that we can support important use cases.<br />
<br />
=== Main advantages over ProcessUtility hooks ===<br />
<br />
The first version of Event Triggers has very few technical capabilities to offer that we don't already have available in the form of ProcessUtility hooks, so, what's the deal here?<br />
<br />
* You can write event triggers functions in PL/pgSQL, no need to write them in C, build an extension, ship it to the server's file system and finally install it;<br />
<br />
* You can actually list the currently installed Event Triggers by doing \dy in psql;<br />
<br />
* In ''single user'' mode the Event Triggers are disabled, staying out of the way while you're busy fixing your production services;<br />
<br />
* It's possible to install more than one Event Trigger then decide as the DBA in which order to run the Event Triggers without having to decipher how the code is implemented and in which order the ''shared object librairies'' are going to be ''_Init()''ialized.<br />
<br />
=== Expected Features ===<br />
<br />
The first release of Event Triggers is landing in PostgreSQL 9.3 and we will have a restricted set of features in that relase.<br />
<br />
==== Use Cases ====<br />
<br />
We attempt at being able to solve those use cases:<br />
<br />
* Logical Replication<br />
* Auditing<br />
* DDL support for Extensions<br />
<br />
==== Features ====<br />
<br />
So we want to provide those features:<br />
<br />
* Event Triggers that run either before or after a DDL command<br />
* User Functions should be provided with detailed information:<br />
** event name<br />
** command tag<br />
** operation (CREATE, ALTER or DROP)<br />
** object kind (TABLE, FUNCTION, VIEW, etc)<br />
** object OID<br />
** object name<br />
** schema name where the object lives<br />
** <br />
* support for DROP CASCADE<br />
* support for dropping multiple objects<br />
* support for ''generated'' commands<br />
<br />
=== Commited patches from the series ===<br />
<br />
Here's the list of what we already have:<br />
<br />
* Syntax support and documentation for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3855968f328918b6cd1401dd11d109d471a54d40<br />
** that was the first step, catalogs and grammar<br />
* Make new event trigger facility actually do something.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3a0e4d36ebd7f477822d5bae41ba121a40d22ccc<br />
** and now you can actually have your function called<br />
** it will only know about ''tg_event'' and ''tg_tag'' <br />
** and you can only write it in PLpgSQL<br />
* Adjust many backend functions to return OID rather than void.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c504513f83a9ee8dce4a719746ca73102cae9f13<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=82b1b213cad3a69cf5f3dfaa81687c14366960fc<br />
** that's a preparing step so that we can expose the object OID in the event trigger<br />
** not yet exposed though<br />
* Add ddl_command_end support for event triggers.<br />
** http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=841a5150c575ccd89e4b03aec66eeeefb21f3cbe<br />
** so that you can call your event trigger when the object has already been ''CREATE''d<br />
<br />
=== Missing features for 9.3 === <br />
<br />
The main missing features are:<br />
<br />
* No specific information about the objects that the command target<br />
* No access to the parse tree or the command string, raw or normalized<br />
* No support for multiple targets per command<br />
** only DROP can target more than one object at a time<br />
** and DROP CASCADE is another special case of that<br />
* No support for ''generated'' commands<br />
<br />
=== Discussion ===<br />
<br />
Some of the features are still under discussion in order to find the best design we can implement them.<br />
<br />
As a general note it's useful to recall that most of those features have already been coded at least once (some of them received one or more redesign and refactoring following review in the 9.2 and 9.3 cycles). So it's not about adding ''new'' features that we didn't see coming before, it's about finishing a patch series to match a subset of the features proposed a couple of years ago.<br />
<br />
The goal is to refine which subset we are ready to accept and to evaluate if we can ship with that subset as something that makes sense on its own.<br />
<br />
For example, with no information available at all about the specifics of the objects that a command is targeting, it's hard to see which use case you can actually solve with Event Triggers.<br />
<br />
==== ''generated'' and ''internal'' commands ====<br />
<br />
For context, the following command will actually run several operations:<br />
<br />
CREATE TABLE foo(id serial primary key, f1 text);<br />
<br />
We will have ''CREATE SEQUENCE'' then a new ''CREATE TABLE'' statement using the name of the sequence we just created, then ''ALTER SEQUENCE'' and finally a ''CREATE INDEX'' command. The current implementation of PostgreSQL backend is to form a ''parse node'' from scratch and send that to ProcessUtility() again, in a recursive way.<br />
<br />
The current patch proposal is to expose those with a ''CONTEXT'' of ''GENERATED'' that is not matched by default by any Event Trigger, and allow the user to opt-in when he's interested into that level of implementation detail.<br />
<br />
It might not be very wise to make that implementation detail visible to users because that would make us unable to clean the mess later, should any developer has round tuits or motivation to go about that some day.<br />
<br />
One idea is to only expose users who are willing to code their event trigger in C, and another idea is then to only expose them via a ''hook''. The problem with the ''hook'' approach is that you need to build and expose the exact same amount of information.<br />
<br />
==== DROP CASCADE support ====<br />
<br />
A patch has been sent to allow to call an Event Trigger for each object that is dropped as part of a command: http://www.postgresql.org/message-id/m2fw1ieq5x.fsf@2ndQuadrant.fr<br />
<br />
==== How to expose Information to Event Triggers Functions ====<br />
<br />
The current proposal is to expose some magic PL variables. The already commited code exposes ''TG_EVENT'' and ''TG_TAG''.<br />
<br />
We're proposing to add to that the most common pieces of information as variables, adding to them those that are really cheap to build (it's a constant string):<br />
<br />
* Variables<br />
** TG_OBJECTID<br />
** TG_OBJECTNAME<br />
** TG_SCHEMANAME<br />
** TG_OPERATION<br />
** TG_OBTYPENAME<br />
** TG_CONTEXT<br />
<br />
* Accessors<br />
** pg_get_event_command_string()<br />
<br />
About ''TG_CONTEXT'', see previous point.<br />
<br />
==== Command String Normalisation ====<br />
<br />
The main use case for the ''command string'' is Logical Replication. In that use case, it's very important to know off hand in which schemas the objects are created (resp. dropped, altered) and to some extend which names are given to automatically named objects (indexes, constraints, sequences).<br />
<br />
See<br />
* http://www.postgresql.org/message-id/CAFNqd5VuowUqXrHfWf_Ld-_szCUxaN3=RZD=XiVmNr_Yd=53QQ@mail.gmail.com<br />
* http://www.postgresql.org/message-id/51055F11.6040208@ca.afilias.info<br />
<br />
=== Distributed Sequences ===<br />
<br />
In the Logical Replication use case, it's important to be able, from an event trigger, to make it so that a ''CREATE SEQUENCE'' will in fact create a ''distributed'' sequence, in certain cases determined by the logical replication system (not known in the backend).<br />
<br />
=== Features For Next Releases ===<br />
<br />
Some features we intended to provide already in 9.2 will have to wait until we are ready, which will not be the case in the 9.3 timeframe.<br />
<br />
==== INSTEAD OF ====<br />
<br />
The idea is to be able to install an Event Trigger that takes control over an existing command, to be able to re-define it, maybe in terms of the command itself:<br />
<br />
create event trigger my_create_extension instead of 'create extension'<br />
execute procedure my_create_extension();<br />
<br />
create function my_create_extension()<br />
returns event_trigger<br />
language plpgsql<br />
as $$<br />
begin<br />
alter event trigger my_create_extension disable;<br />
-- do some stuff here<br />
create extension tg_objectid;<br />
-- do some more stuff here, presumably<br />
end;<br />
$$;<br />
<br />
Unfortunately it's already clear that the ''INSTEAD OF'' feature implementation is too hard to get right from the first release of Event Triggers, because the call points in the backend code must be really carefully placed.<br />
<br />
==== table_rewrite ====<br />
<br />
The idea is to provide an event called ''table_rewrite'' that will fire any time a command that will rewrite the whole of the table is to be executed, so that the DBA can install a local policy about that (accept the rewrite only at night when it's not a full moon, say).<br />
<br />
==== create table on insert ====<br />
<br />
Some developers are getting used to ''schema less'' databases nowadays, and want to be have the behaviour that when they do<br />
<br />
INSERT INTO look_me_i_dont_exist(key, value) VALUES(1, 'foo');<br />
<br />
The table ''look_me_i_dont_exist'' is automatically created by PostgreSQL with two columns ''key'' of type ''integer'' (presumably) and ''value'' of type ''text'' here.<br />
<br />
[[Category:PostgreSQL 9.3]]</div>Dim