https://wiki.postgresql.org/api.php?action=feedcontributions&user=Vincentp&feedformat=atomPostgreSQL wiki - User contributions [en]2024-03-29T10:54:08ZUser contributionsMediaWiki 1.35.13https://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2015&diff=26239PostgreSQL Conference Europe Talks 20152015-10-30T15:03:31Z<p>Vincentp: add beyond postgis basics</p>
<hr />
<div><br />
== Tuesday (Training) ==<br />
<br />
{| class="wikitable"<br />
|Time||Room||Trainer||Title (Link to slides)<br />
|+<br />
| || || || <br />
|+<br />
|}<br />
<br />
== Wednesday ==<br />
<br />
{| class="wikitable"<br />
|Time||Room||Speaker||Title (Link to slides)<br />
|+<br />
| 12:10 - 13:00 || Ballroom A+B || Joe Conway || [http://www.joeconway.com/presentations/text_search-pgconfeu2015.pdf Where’s Waldo? - Text Search and Pattern Matching in PostgreSQL]||<br />
|+<br />
| 12:10 - 13:00 || Ballroom C+D || Mladen Marinović || [https://bitbucket.org/marin/pgconfeu2015/raw/883632334c68663e10ab9637003f32bc2fadb279/Dockerizing%20a%20Largrer%20PostgreSQL%20Installation.pdf Dockerizing a Larger PostgreSQL Installation: What could possibly go wrong?]|| <br />
|+<br />
| 15:00 - 15:50 || Ballroom A+B || Michael Banck || [[Media: Dumping_the_mainframe_mbanck.pdf|Dumping the Mainframe: Migration Study from DB2 UDB to PostgreSQL]]||<br />
|+<br />
| 14:00 - 14:50 || Ballroom C+D || Kaarel Moppel || [https://docs.google.com/presentation/d/1BzzhJKHsie3cqjJwYa0y2QeTzMDsJtanbtsqq4As5tk/edit?usp=sharing A PostgreSQL DBA's toolbelt]|| <br />
|+<br />
<br />
|}<br />
<br />
== Thursday ==<br />
<br />
{| class="wikitable"<br />
|Time||Room||Speaker||Title (Link to slides)<br />
|+<br />
| 11:50 || Ballroom A+B || Balázs Bárány || [https://datascientist.at/wp-content/uploads/2015/01/B%C3%A1r%C3%A1ny-Data-Science-with-PostgreSQL.pdf Data Science with PostgreSQL]<br />
|+<br />
|}<br />
<br />
== Friday ==<br />
<br />
{| class="wikitable"<br />
|Time||Room||Speaker||Title (Link to slides)<br />
|+<br />
| 13:40 || Ballroom A+B || Vincent Picavet || [https://github.com/Oslandia/presentations/raw/master/pgconf_eu_2015/beyond_postgis_basics.pdf Beyond PostGIS basics : more spatial ! ]<br />
|+<br />
|}</div>Vincentphttps://wiki.postgresql.org/index.php?title=PGStrom&diff=25517PGStrom2015-07-31T12:25:06Z<p>Vincentp: fix typo</p>
<hr />
<div>= Overview =<br />
<br />
PG-Strom is an extension of PostgreSQL, works as custom-scan provider. It was designed to off-load several CPU intensive workloads to GPU devices, to utilize its massive parallel execution capability.<br />
GPU has advantages on number of processor cores (usually several hundreds - thousands) and wider RAM bandwidth (usually multiple times larger capacity than CPU). It works most efficiently when it processes massive amount of numerical operations simultaneously.<br />
<br />
PG-Strom stands on two major ideas:<br />
# Native GPU code generation on the fly<br />
# Asynchronous and pipelined execution model<br />
<br />
PG-Strom checks whether (a part of) given query is executable on GPU devices during query optimization phase. Once it determines the query is available to off-load, PG-Strom construct a source code of GPU native binary on the fly, then kicks just-in-time compile process on the head of execution stage.<br />
<br />
Next, PG-Strom loads a bunch of fetched rows on DMA buffers (15MB per buffer, in the default), then kick DMA transfer and GPU kernel execution in asynchronous manner. CUDA platform allows to handle these tasks in background, so PostgreSQL can make advance the current process.<br />
This asynchronous and in-relation sharding also hides a usual latency around GPU acceleration.<br />
<br />
[[File:PGStrom_Fig_ArchOverview.png]]<br />
<br />
= How to use =<br />
<br />
== Installation ==<br />
<br />
=== Requirements ===<br />
<br />
* PostgreSQL 9.5devel<br />
* [http://developer.nvidia.com/cuda-downloads CUDA 7.0] or later<br />
* x86_64 Linux platform supported by CUDA<br />
<br />
=== Manual Installation ===<br />
<br />
;1. Install CUDA Toolkit v7.0 (or later)<br />
<br />
* You can get CUDA Toolkit from [http://developer.nvidia.com/cuda-downloads NVIDIA], then install the toolkit. Its default installation path is <tt>/usr/local/cuda</tt>. Please don't change the default path.<br />
* For runtime library lookup, you should add a configuration to tell location of the <tt>libnvrtc.so</tt>.<br />
<br />
$ sudo bash<br />
# echo /usr/local/cuda/lib64 > /etc/ld.so.conf.d/cuda-lib64.conf<br />
<br />
;2. Install PostgreSQL v9.5devel (or later)<br />
<br />
* You can check out PostgreSQL v9.5devel from [[http://github.com/postgres/postgres GitHUB]].<br />
* Run <tt>./configure</tt> script. At this moment, we recommend to attach <tt>--enable-debug</tt> and <tt>--enable-cassert</tt>.<br />
* Run <tt>make</tt> and <tt>make install</tt><br />
<br />
$ git clone https://github.com/postgres/postgres.git pgsql<br />
$ cd pgsql<br />
$ ./configure --enable-debug --enable-cassert<br />
$ make<br />
$ sudo make install<br />
<br />
;3. Install latest PG-Strom<br />
<br />
* You can check out the latest PG-Strom from [[https://github.com/pg-strom/devel.git GitHUB]]<br />
* Ensure <tt>pg_config</tt> is in your command search path.<br />
* Run <tt>make</tt> and <tt>make install</tt><br />
<br />
$ git clone https://github.com/pg-strom/devel pg_strom<br />
$ cd pg_strom<br />
$ which pg_config<br />
/usr/local/pgsql/bin/pg_config<br />
$ make<br />
$ sudo make install<br />
<br />
;4. Create database<br />
<br />
* Create database using <tt>initdb</tt>.<br />
* For text comparison, we recommend to add <tt>--no-local</tt> option, because collation aware text comparison is not supported on GPU side.<br />
* Edit <tt>$PGDATA/postgresql.conf</tt> for parameter configuration.<br />
** <tt>$libdir/pg_strom</tt> has to be added to <tt>shared_preload_libraries</tt>.<br />
** <tt>shared_buffers</tt> has to be expanded according to the sizing guideline.<br />
** For other configurations, see the sizing guideline.<br />
<br />
;5. Start/Restart PostgreSQL<br />
<br />
* Start PostgreSQL, using <tt>pg_ctl</tt>. You may see the following message on log.<br />
<br />
LOG: CUDA Runtime version 7.0.0<br />
LOG: NVIDIA driver version: 346.46<br />
LOG: GPU0 GeForce GTX 750 Ti (640 CUDA cores, 1110MHz), L2 2048KB, RAM 2047MB (128bits, 2700KHz), capability 5.0<br />
LOG: NVRTC - CUDA Runtime Compilation vertion 7.0<br />
LOG: database system was shut down at 2015-06-28 17:26:03 JST<br />
LOG: database system is ready to accept connections<br />
LOG: autovacuum launcher started<br />
<br />
;6. Create PG-Strom extension<br />
<br />
* Run <tt>CREATE EXTENSION pg_strom</tt> to setup relevant SQL objects.<br />
<br />
=== Cloud Installation ===<br />
<br />
Under construction<br />
<br />
== Run SQL on GPU ==<br />
<br />
Once PG-Strom is loaded, no special indication is needed to run SQL on GPU device.<br />
It perform as a custom-scan provider of PostgreSQL, and offers alternative scan/join logic that can run on GPU device. If it is feasible and reasonable from estimated cost perspective, planner put custom-scan node instead of the built-in query execution logic.<br />
Below is an ideal case to execute, because size of all the inner relations to be joined is available to load onto GPU RAM at once, and pre-aggregation can reduce number of rows to be processed by CPU effectively.<br />
<br />
postgres=# EXPLAIN SELECT cat, avg(x) FROM t0 natural join t1 natural join t2 natural join t3 natural join t4 GROUP BY cat;<br />
QUERY PLAN<br />
------------------------------------------------------------------------------------------------------------<br />
HashAggregate (cost=300706.95..300707.28 rows=26 width=12)<br />
Group Key: t0.cat<br />
-> Custom Scan (GpuPreAgg) (cost=8860.76..252963.69 rows=1077 width=52)<br />
Bulkload: On (density: 99.00%)<br />
Reduction: Local + Global<br />
-> Custom Scan (GpuJoin) (cost=7860.76..251210.47 rows=9899296 width=12)<br />
Bulkload: On (density: 100.00%)<br />
Depth 1: Logic: GpuHashJoin, HashKeys: (cid), JoinQual: (cid = cid), nrows_ratio: 0.98995197<br />
Depth 2: Logic: GpuHashJoin, HashKeys: (aid), JoinQual: (aid = aid), nrows_ratio: 1.00000000<br />
Depth 3: Logic: GpuHashJoin, HashKeys: (bid), JoinQual: (bid = bid), nrows_ratio: 1.00000000<br />
Depth 4: Logic: GpuHashJoin, HashKeys: (did), JoinQual: (did = did), nrows_ratio: 1.00000000<br />
-> Custom Scan (BulkScan) on t0 (cost=0.00..242855.74 rows=9999774 width=28)<br />
-> Seq Scan on t3 (cost=0.00..734.00 rows=40000 width=4)<br />
-> Seq Scan on t1 (cost=0.00..734.00 rows=40000 width=4)<br />
-> Seq Scan on t2 (cost=0.00..734.00 rows=40000 width=4)<br />
-> Seq Scan on t4 (cost=0.00..734.00 rows=40000 width=4)<br />
(16 rows)<br />
<br />
Below is a set of benchmark result using above microbenchmark workloads according to increase number of tables to be joined.<br />
<br />
[[File:PGStrom Fig MicroBenchGpuJoin.png|512px]]<br />
<br />
;Target Query<br />
SELECT cat, AVG(x) FROM t0 NATURAL JOIN t1 [, ...] GROUP BY cat;<br />
:<tt>t0</tt> contains 100M rows, other relations (<tt>t1</tt>-<tt>t10</tt>) contain 100K rows for each.<br />
:All the data was preloaded.<br />
<br />
;measurement environment<br />
:H/W: NEC Express5800 HR120b-1<br />
:CPU: Xeon E5-2640 (2.50GHz, 6Core)<br />
:RAM: 256GB<br />
:GPU: NVIDIA GTX980<br />
:S/W: PostgreSQL 9.5devel + PG-Strom (26-Mar-2015 ver), CUDA 7.0(x86_64)<br />
<br />
== Data types ==<br />
* Numeric<br />
** smallint<br />
** integer<br />
** bigint<br />
** real<br />
** float<br />
** numeric<br />
* Date and Time<br />
** date<br />
** time<br />
** timestamp<br />
** timestamptz<br />
* Variable length<br />
** Text<br />
** bpchar()<br />
<br />
== Functions and Operators ==<br />
<br />
Under construction<br />
<br />
== GUC options ==<br />
<br />
; pg_strom.enabled<br />
: type: boolean<br />
: default: on<br />
:It enables / disables the entire PG-Strom functionality. Once it gets disabled, CustomScan node never appear in the query execution plan.<br />
<br />
; pg_strom.perfmon<br />
: type: boolean<br />
: default: off<br />
:It enables / disables the performance monitor feature. Once this parameter gets enabled, EXPLAIN ANALYZE will show extra performance information collected from CUDA runtime.<br />
<br />
;pg_strom.cuda_visible_devices<br />
: type: text<br />
: default: NULL<br />
: It allows to configure the variable to be assigned at CUDA_VISIBLE_DEVICES environment variable on system startup time. CUDA runtime ignores the GPU devices, if this environment variable is valid but device number was not lited.<br />
: See [http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars CUDA Environment Variables] for more details.<br />
<br />
;pg_strom.enable_gpuscan<br />
: type: boolean<br />
: default: on<br />
: It enables / disables the feature support of GpuScan. Once it got disabled, PG-Strom never uses GpuScan during plan construction. Note that it does not affect to behavior of the query execution plan already constructed.<br />
<br />
; pg_strom.enable_gpuhashjoin<br />
: type: boolean<br />
: default: on<br />
: It enables / disables the feature support of GpuHashJoin. Once it got disabled, PG-Strom never uses GpuScan during plan construction. Note that it does not affect to behavior of the query execution plan already constructed.<br />
<br />
; pg_strom.enable_gpunestloop<br />
: type: boolean<br />
: default: on<br />
: It enables / disables the feature support of GpuNestLoop. Once it got disabled, PG-Strom never uses GpuScan during plan construction. Note that it does not affect to behavior of the query execution plan already constructed.<br />
<br />
; pg_strom.enable_gpupreagg<br />
: type: boolean<br />
: default: on<br />
: It enables / disables the feature support of GpuPreAgg. Once it got disabled, PG-Strom never inject GpuPreAgg node to the PlannedStmt. Note that it does not affect to behavior of the query execution plan already constructed.<br />
<br />
; pg_strom.enable_gpusort<br />
: type: boolean<br />
: default: on<br />
: It enables / disables the feature support of GpuSort. Once it got disabled, PG-Strom never inject GpuSort node to the PlannedStmt. Note that it does not affect to behavior of the query execution plan already constructed.<br />
<br />
; pg_strom.chunk_size<br />
: type: integer<br />
: default: 15MB<br />
: The default size of individual DMA buffer (usually called chunk).<br />
<br />
; pg_strom.gpu_setup_cost<br />
: type: float<br />
: default: to be determined based on the device property<br />
: The planner's estimate of the average cost to set up GPU devices once per query execution. It implies the cost to initialize CUDA context and build (if not on cache) the GPU kernel source<br />
<br />
; pg_strom.gpu_operator_cost<br />
: type: float<br />
: default: to be determined based on the device property<br />
: The planner's estimate of the cost of processing each operator or function call on GPU devices<br />
<br />
; pg_strom.gpu_tuple_cost<br />
: type: float<br />
: default: to be determined based on the device property<br />
: The planner's estimate of the cost of processing each tuple (row)<br />
<br />
; pg_strom.program_cache_size<br />
: type: integer<br />
: default: 16MB<br />
: Size of CUDA program cache to be allocated on the static shared memory, during startup time once. So, too large configuration makes waste of RAM. PG-Strom caches a pair of GPU kernel source and CUDA module built, to skip run-time module build second time or later. The cached entry is kept in this area, and too small configuration makes performance degradation because of too frequent run-time compile.<br />
<br />
; pg_strom.bulkload_enabled<br />
: type: boolean<br />
: default: on<br />
: It enables / disables the bulkload feature. If both of parent and child node of the plan tree are CustomScan node managed by PG-Strom, it checks whether bulkload mode is available to exchange the bunck of data between them.<br />
: Once PG-Strom thought bulkload is more reasonable, the child node setup its results on DMA buffer then passes this chunk to the parent node. It allows to reduce waste of CPU cycles for unnecessary data copy between normal memory area and DMA buffers. So, it is the fastest path if we can try.<br />
<br />
; pg_strom.bulkload_density<br />
: type: float<br />
: default: 0.50<br />
: It sets a threshold to use bulkloading mode to exchange a bunch of data from the underlying node of the plan tree. If child node may increase / reduce number of tuples more / less than the threshold, we don't apply bulkload mode even if possible.<br />
<br />
; pg_strom.max_async_tasks<br />
: type: integer<br />
: default: 32<br />
: It sets maximum number of asynchronous tasks that are sum of launched and pending. When GPU kernel execution or GPU kernel build (usual case) takes times, PG-Strom makes advance child node scanning and loading to DMA buffer. This parameter works as threshold of this prefetching.<br />
<br />
; pg_strom.max_workers<br />
: type: integer<br />
: default: ---<br />
: It sets maximum number of background worker process if and when PG-Strom also takes CPU parallel execution.<br />
<br />
== Sizing Guideline ==<br />
<br />
Under construction<br />
<br />
<br />
= Background =<br />
<br />
== Parallel Approach ==<br />
<br />
We have a few ways to enhance performance of PostgreSQL.<br />
* Homogeneous scale-up<br />
* Heterogeneous scale-up<br />
* Scale-out<br />
PG-Strom takes heterogeneous scale-up approach; that utilizes the most advantaged hardware according to the characteristics of the workloads. In other words, it assigns simple but massive amount of numerical calculation, that is too previous to run on CPU cores, on GPU devices.<br />
<br />
[[File:PGStrom_Fig_ParallelApproach.png]]<br />
<br />
= Future Development =<br />
<br />
== PostgreSQL core ==<br />
<br />
== PG-Strom ==<br />
<br />
== Long term development ==</div>Vincentphttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2014&diff=23494PostgreSQL Conference Europe Talks 20142014-10-23T14:05:34Z<p>Vincentp: /* Medici III */ add postgis latest news</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 />
== Medici III ==<br />
<br />
== Renacimiento I ==<br />
<br />
== Florencia II ==<br />
<br />
== Talks: Wednesday 22nd October, 2014 ==<br />
<br />
== Medici I ==<br />
<br />
* [[Media: Autovacuum_pgconfeu_gorthx.pdf|(Auto)Vacuum and You]] Gabrielle Roth<br />
<br />
* [https://docs.google.com/presentation/d/1TV0bExFwVy-_d6C7A8Z2JL9Z9tvtkuZv3D58fkC3GWQ/edit?usp=sharing ALTER DATABASE ADD SANITY (google presentation)] Alexey Klyukin<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==<br />
* [http://www.slideshare.net/ae_bm/postgres-40626330 Experiencias con PostgreSQL en AWS (Spanish track)] Alejandro E. Brito Monedero<br />
<br />
== Renacimiento I ==<br />
<br />
== Talks: Thursday 23 October, 2014 ==<br />
<br />
== Medici I ==<br />
<br />
* [http://www.cybertec.at/wp-content/uploads/1million.pdf Joining 1 million tables], Hans-Jürgen Schönig<br />
<br />
== Medici III==<br />
* [https://github.com/Oslandia/presentations/raw/master/pgconf_eu_2014/postgis_latest_news_vincent_picavet.pdf PostGIS Latest News] Vincent Picavet<br />
* [http://www.slideshare.net/jim_mlodgenski/postrgesql-hadoop Leveraging Hadoop In Your PostgreSQL Environment] Jim Mlodgenski<br />
<br />
== Renacimiento I ==</div>Vincentphttps://wiki.postgresql.org/index.php?title=FOSDEM_2013&diff=18976FOSDEM 20132013-02-05T10:29:00Z<p>Vincentp: </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) [[File:Postgis 3d pgday2013 hm.pdf]]<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 />
* [https://github.com/Oslandia/presentations/blob/master/fosdem_2013/pgdevroom/fosdem_2013_pgdevroom_vincent_picavet_postgis20.pdf 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>Vincentphttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2012&diff=18443PostgreSQL Conference Europe Talks 20122012-10-25T13:52:56Z<p>Vincentp: add postgis & topology talks</p>
<hr />
<div>= PostgreSQL Conference Europe 2012 Talks =<br />
<br />
== Talks: Wednesday 24th October, 2012 ==<br />
<br />
=== Bellevue ===<br />
<br />
=== Seine ===<br />
<br />
=== Thames ===<br />
<br />
* [[Media:Pgconfeu12-collectd%2Bpsql.pdf|Watch your Elephants -- Using collectd for PostgreSQL performance analysis]] ([http://tokkee.org/ Sebastian 'tokkee' Harl])<br />
* [[Media:Range-types.pdf|Range Types in PostgreSQL 9.2 - Your Life Will Never Be the Same (Jonathan S. Katz)]]<br />
<br />
=== Vlatva ===<br />
<br />
== Talks: Thursday 25th October, 2012 ==<br />
<br />
=== Bellevue ===<br />
<br />
=== Seine ===<br />
<br />
=== Thames ===<br />
<br />
* [[Media:Universal_Data_Access_with_SQL_MED.pdf|Universal Data Access with SQL/MED (David Fetter)]]<br />
* [https://github.com/Oslandia/presentations/tree/master/pgconf_eu_2012 Topology and network analysis with PostgreSQL and PostGIS (Vincent Picavet)]<br />
* [https://github.com/Oslandia/presentations/tree/master/pgconf_eu_2012 PostGIS 2.0 and beyond (Vincent Picavet)]<br />
<br />
<br />
=== Vlatva ===<br />
* [[Media: Marketing-postgres.pdf|Marketing PostgreSQL (Jonathan S. Katz)]]<br />
<br />
[[Category:PostgreSQL Europe]]</div>Vincentphttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Europe_Talks_2011&diff=15601PostgreSQL Conference Europe Talks 20112011-10-19T13:47:50Z<p>Vincentp: </p>
<hr />
<div>= PostgreSQL Conference Europe 2011 Talks =<br />
<br />
== Talks: Wednesday 18th October, 2011 ==<br />
<br />
=== Ams 1 ===<br />
* [[Media:Mohan_PGCon_Keynote_10-19-2011.pdf|Ram Mohan Keynote: Afilias Winning Bet on Open Source]]<br />
* [http://www.oslandia.com/files/1646fd60f9b0a4558d1e256cf3264572/pgconfeu2011_vincent_picavet_postgis.pdf Vincent Picavet - Geo in your database : Postgis]<br />
* [http://pgeu-plv8.herokuapp.com Will Leinweber: heralding the death of nosql]<br />
<br />
=== Ams 2 ===<br />
<br />
=== Ams 3 ===<br />
<br />
* [[Media:Ciolli-window-2011.pdf|Gianni Ciolli, Look Out The Window Functions (and free your SQL)]]<br />
2D heat diffusion movies: starting from [[Media:Ciolli-window-2011-movie-point.avi|a hot point]],<br />
[[Media:Ciolli-window-2011-movie-segment.avi|a hot segment]],<br />
[[Media:Ciolli-window-2011-movie-square.avi|a hot square]] and<br />
[[Media:Ciolli-window-2011-movie-coldsquare.avi|a cold square]].<br />
<br />
== Talks: Thursday 19th October, 2011 ==<br />
<br />
=== Ams 1 ===<br />
<br />
=== Ams 2 ===<br />
<br />
=== Ams 3 ===<br />
<br />
<br />
== Talks: Friday 20th October, 2011 ==<br />
<br />
=== Ams 1 ===<br />
<br />
=== Ams 2 ===<br />
<br />
=== Ams 3 ===</div>Vincentphttps://wiki.postgresql.org/index.php?title=User:Vincentp&diff=12779User:Vincentp2010-12-08T14:29:42Z<p>Vincentp: New page: Vincent Picavet, owner and manager @ [http://www.oslandia.com Oslandia], engineering geostuff with PostGIS and all...</p>
<hr />
<div>Vincent Picavet, owner and manager @ [http://www.oslandia.com Oslandia], engineering geostuff with PostGIS and all...</div>Vincentphttps://wiki.postgresql.org/index.php?title=PGDay_Europe_2010_Talks&diff=12778PGDay Europe 2010 Talks2010-12-08T14:27:56Z<p>Vincentp: </p>
<hr />
<div>PGDay.EU 2010 was held in Stuttgart, Germany on December 6th - 8th.<br />
<br />
== Monday, December 6, 2010 ==<br />
<br />
=== Berlin 1+2 ===<br />
<br />
==== 9:45 - 10:45 [[Keynote: Back To The Future of Open Source (Simon Phipps)]]====<br />
==== 11:10 - 12:00 [[Play chess against PostgreSQL (and get beaten) (Gianni Ciolli)]] ====<br />
==== 12:10 - 13:00 [[Rapid Upgrades With Pg_Upgrade (Bruce Momjian)]] ====<br />
==== 14:00 - 14:50 [[Media:Postgis beyond courtin caveayland pgdayEU2010.pdf|PostGIS 1.5 and beyond: a technical perspective (Mark Cave-Ayland, Olivier Courtin)]] ====<br />
==== 15:20 - 16:10 [[Managing PostgreSQL Replication (Simon Riggs)]] ====<br />
<br />
=== Berlin 3 ===<br />
<br />
==== 11:10 - 12:00 [[Media:Postgis_das_wo_in_der_datenbank_pgday_eu_2010.pdf|PostGIS - Das Wo? in der Datenbank (Stefan Keller, Andreas Neumann)]]====<br />
<br />
==== 12:10 - 13:00 [[Media:Pgsql_detailhandel.pdf|PostgreSQL als Basis für Detailhandels-Anwendungen (Marc Balmer)]]====<br />
<br />
==== 14:00 - 14:50 [[Media:Pg-community.pdf|Die PostgreSQL Community (Bernd Helmle)]]====<br />
<br />
==== 16:20 - 17:10 [[Media:Pgday-2010-ose-print.pdf|Open Source Entscheidungen]] ([[User:Ads|Andreas Scherbaum]]) ====<br />
<br />
=== Glasgow ===<br />
<br />
=== Tara ===<br />
<br />
==== 14:00 - 14:50 [[Media:PGDay_EU_2010.pdf|Servermonitoring Postgres mit RHQ (Heiko Rupp)]]====<br />
<br />
==== 15:20 - 16:10 [[Media:Psycopg-2010-stuttgart.pdf|Advanced PostgreSQL Access from Python with Psycopg]] ([[User:dvarrazzo|Daniele Varrazzo]]) ====<br />
<br />
== Tuesday, December 7, 2010 ==<br />
<br />
=== Berlin 1+2 ===<br />
==== 11:35 - 12:20 [[Media:Web-arch-pgday2010.pdf|How PostgreSQL 9 Makes Web Architecture Sweeter]] (Jonathan S. Katz) ====<br />
==== 14:10 - 15:00 [[Media:PGDay2010-Statistics.pdf|Statistics in PostgreSQL]] (Heikki Linnakangas) ====<br />
<br />
=== Berlin 3 ===<br />
<br />
==== 09:00 - 09:50 [[Media:PGDay2010_-_ILMSraster.pdf|Verwendung von PostgreSQL und GRASS-GIS in einer "Virtual Appliance" für datenbankbasierte Rasterhaltung in ILMS]] ([[User:c3schs|Christian Schwartze]]) ====<br />
<br />
==== 10:25 - 11:10 [[Media:Pgday_eu_2010_benchmarking.pdf|Benchmarking und Performancetesting von und mit PostgreSQL]] ([[User:mastermind|Stefan Kaltenbrunner]]) ====<br />
<br />
==== 11:35 - 12:20 [[Media:Pgday-2010-mysql-to-pg-print.pdf|Datenbanken von MySQL zu PostgreSQL portieren]] ([[User:Ads|Andreas Scherbaum]]) ====<br />
<br />
==== 14:10 - 15:00 [[Media:Postgresql_query_cache_memcached_bjoern_haeuser.pdf|Postgresql Query Cache mit Memcache]] ====<br />
<br />
=== Glasgow ===<br />
==== 10:25 - 11:10 [http://www.slideshare.net/Tim.Bunce/pl-perl90-201012 PL/Perl new features in 9.0] ([[User:timbunce|Tim Bunce]]) ====<br />
==== 13:10 - 14:00 [[Media:Postgis vincent picavet pgdayEU2010.pdf|PostGIS, a PostgreSQL plugin for spatial data]] ([[User:Vincentp|Vincent Picavet]]) ====<br />
=== Tara ===<br />
<br />
==== 10:25 - 11:10 [http://www.dalibo.org/_media/pgpool.pdf Why your PostgreSQL 9.0 cluster needs pgpool-II] ([[User:jpargudo|Jean-Paul Argudo]]) ====</div>Vincentphttps://wiki.postgresql.org/index.php?title=File:Postgis_vincent_picavet_pgdayEU2010.pdf&diff=12777File:Postgis vincent picavet pgdayEU2010.pdf2010-12-08T14:26:15Z<p>Vincentp: Presentation of the PostGIS project</p>
<hr />
<div>Presentation of the PostGIS project</div>Vincentphttps://wiki.postgresql.org/index.php?title=File:Postgis_beyond_courtin_caveayland_pgdayEU2010.pdf&diff=12776File:Postgis beyond courtin caveayland pgdayEU2010.pdf2010-12-08T14:22:35Z<p>Vincentp: PostGIS and beyond : a technical perspective</p>
<hr />
<div>PostGIS and beyond : a technical perspective</div>Vincentphttps://wiki.postgresql.org/index.php?title=Main_Page/fr&diff=10935Main Page/fr2010-05-21T17:56:26Z<p>Vincentp: correction lien</p>
<hr />
<div>== Communauté Francophone ==<br />
<br />
* Le site de la communauté : http://www.postgresql.fr<br />
* La documentation en français : http://docs.postgresql.fr<br />
* Le forum d'entraide PostgreSQL : http://forum.postgresql.fr<br />
* L'association PostgreSQLFr : http://asso.postgresql.fr<br />
<br />
== Quelques documents en français ==<br />
<br />
=== Traductions ===<br />
<br />
* [http://blog.postgresql.fr/index.php?post/drupal/216 Pourquoi préférer PostgreSQL à MySQL] (par Christophe Chauvet, le 24/10/2007).<br />
* [http://blog.postgresql.fr/index.php?post/drupal/397 Sécuriser votre base PostgreSQL] (écrit par Hubert Lubaczewski, traduit par Damien Clochard, le 05/09/2007).<br />
* [http://blog.postgresql.fr/index.php?post/drupal/105 Points à vérifier en ce qui concerne les performances de PostgreSQL 8.0] (écrit par Josh Berkus et Joe Conway, traduit par Guillaume Lelarge le 15/07/2005).<br />
* [http://ftp.traduc.org/doc-vf/gazette-linux/html/2008/149/lg149-A.html Les bases de données par M. Deividson : les vues] (article de la Gazette Linux, écrit par M. Deividson, traduit par Florence Cousin le 14/09/2008).<br />
* [http://ftp.traduc.org/doc-vf/gazette-linux/html/2008/150/lg150-A.html Les bases de données par M. Deividson : les procédures stockées] (article de la Gazette Linux, écrit par M. Deividson, traduit par Florence Cousin le 23/11/2008).<br />
<br />
=== Documents originaux ===<br />
<br />
* [http://blog.postgresql.fr/index.php?post/drupal/277 Guide d'installation rapide de PostgreSQL 8.3 sur MacOS] (par escapek le 11/02/2008).<br />
* [http://blog.postgresql.fr/index.php?post/drupal/396 Utiliser un index pour les recherches sur des motifs tels que « colonne LIKE '%chaîne' »] et sa suite, [http://blog.postgresql.fr/index.php?post/drupal/393 Index inversé, en C] (par Thomas Reiss, respectivement le 15/07/2007 et le 05/09/2007).<br />
* [http://wiki.guillaume.lelarge.info/trac.cgi/wiki/PostgreSQL%208.2 PostgreSQL 8.2] (par Guillaume Lelarge, le 04/03/2007).<br />
* [http://blog.postgresql.fr/index.php?post/drupal/389 Langages de procédure : type OUT et INOUT] (par Guillaume Lelarge, le 16/12/2005).<br />
* [http://blog.postgresql.fr/index.php?post/drupal/137 Utilisation des rôles dans PostgreSQL 8.1] (par Guillaume Lelarge, le 29/11/2005).<br />
* [http://blog.postgresql.fr/index.php?post/drupal/113 Fiche mémoire sur PostgreSQL] (par Guillaume Lelarge, le 09/09/2005).<br />
* [http://dalibo.org/comparatif_des_outils_de_pooling_de_connexions Comparatif entre pgPool et pgBouncer] (par Guillaume Lelarge, le 19/06/2007).<br />
* [http://dalibo.org/les_nouveautes_de_postgresql_8.3 Les nouveautés de PostgreSQL 8.3] (par Jean-Paul Argudo, janvier 2008).<br />
* [http://dalibo.org/slony_impact_de_la_perte_d_un_esclave Slony : Impact de la perte d'un noeud esclave] (par Cédric Villemain, novembre 2007).<br />
* [http://scheu.developpez.com/tutoriels/postgresql/log-shipping/ Réplication de base avec PostgreSQL : le log shipping] (par Scheu, octobre 2008).<br />
* [http://blog.postgresql.fr/index.php?post/2009/06/11/Postgresql-et-l-authentification-Apache PostgreQL et l'authentification Apache] (par Pascal Brognez, le 16/06/2009)<br />
* [http://blog.postgresql.fr/index.php?post/2009/06/20/Guide-de-demarrage-rapide-avec-PostgreSQL Guide de démarrage rapide avec PostgreSQL] [http://blog.postgresql.fr/public/Doc%20postgresql.pdf PDF] (par Florence Cousin, le 20/06/2009).<br />
* [http://dalibo.org/installation_de_postgresql_8.3_sous_windows Installation de PostgreSQL 8.3 sous Windows] (par Guillaume Lelarge, le 26/12/2009).<br />
* [http://dalibo.org/installation_de_postgresql_8.4_sous_windows Installation de PostgreSQL 8.4 sous Windows] (par Guillaume Lelarge, le 29/12/2009).<br />
<br />
=== Publication ===<br />
<br />
* [http://www.ed-diamond.com/produit.php?produit=525 numéro 103], « [http://dalibo.org/glmf103_postgresql_8.3_quoi_de_neuf PostgreSQL 8.3 : quoi de neuf ?] » (par Guillaume Lelarge, mars 2008) ;<br />
* [http://www.ed-diamond.com/produit.php?produit=579 numéro 105], « [http://dalibo.org/glmf105_nouvelle_gestion_des_journaux_applicatifs_avec_postgresql_8.3 Nouvelle gestion des journaux applicatifs sous PostgreSQL 8.3] » (et son [http://www.dalibo.org/glmf105_supplement supplément]) (par Guillaume Lelarge, mai 2008).<br />
* [http://www.ed-diamond.com/produit.php?produit=585 numéro 106], « [http://dalibo.org/glmf106_les_vues_systemes_sous_postgresql_8.3 Les vues systèmes sous PostgreSQL 8.3] » (par Guillaume Lelarge, juin 2008).<br />
* [http://www.ed-diamond.com/produit.php?produit=588 numéro 107], « [http://www.dalibo.org/glmf107_gestion_memoire_avec_postgresql Gestion mémoire sous PostgreSQL] » (par Guillaume Lelarge, juillet/août 2008).<br />
* [http://www.ed-diamond.com/produit.php?produit=594 numéro 108], « [http://www.dalibo.org/glmf108_postgresql_et_ses_journaux_de_transactions PostgreSQL et ses journaux de transactions] » (par Guillaume Lelarge, septembre 2008).<br />
* [http://www.ed-diamond.com/produit.php?produit=597 numéro 109], « [http://dalibo.org/glmf109_operations_de_maintenance_sous_postgresql Opérations de maintenance sous PostgreSQL] » (par Guillaume Lelarge, octobre 2008).<br />
* [http://www.ed-diamond.com/produit.php?produit=604 numéro 111], « [http://dalibo.org/glmf111_recherche_plein_texte_avec_postgresql Recherche plein texte avec PostgreSQL 8.3] » (par Guillaume Lelarge, décembre 2008).<br />
* [http://www.ed-diamond.com/produit.php?produit=605 numéro 112], « [http://dalibo.org/glmf112_les_processus_de_postgresql Les processus de PostgreSQL] » (par Guillaume Lelarge, janvier 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_postgresql_8.4 PostgreSQL 8.4] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_le_projet_postgresql Le projet PostgreSQL] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_installation_de_postgresql Installation de PostgreSQL] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_rapide_configuration_de_postgresql Rapide configuration de PostgreSQL] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_creer_une_base_avec_postgresql Créer une base avec PostgreSQL] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_pgpool_le_pooler_multitache pgPool : le pooler multitâche] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_pgbouncer_un_pooler_simple_mais_efficace pgBouncer : un pooler simple, mais efficace] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_la_replication_par_les_journaux_de_transactions La réplication par les journaux de transactions] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_slony_la_replication_des_donnees_par_trigger Slony : la réplication des données par trigger] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_londiste_la_replicaton_vue_par_skype Londiste : la réplication vue par Skype] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_pgpoolII_la_replication_par_duplication_des_requetes pgPool-II : la réplication par duplication des requêtes] » (par Guillaume Lelarge, septembre 2009).<br />
* [http://www.ed-diamond.com/produit.php?ref=lmhs44 Hors-série 44], « [http://dalibo.org/hs44_une_synthese_et_en_route_vers_le_futur Une synthèse, et en route vers le futur] » (par Guillaume Lelarge, septembre 2009).<br />
<br />
=== Slides de présentation ===<br />
<br />
* [http://2008.rmll.info/Presentation-de-PostgreSQL.html Présentation du projet et de l'outil PostgreSQL] (par Guillaume Lelarge, juillet 2008).<br />
* [http://svn.postgresqlfr.org/browser/materials/advocacy/trunk/confs/pitr-logshipping/tutoriel-pitr_logshipping-rmll2008.odp?rev=1091&format=raw Atelier sur PITR et le LogShipping] (par Jean-Christophe Arnu, aux RMLL 2008, juillet 2008).<br />
* [http://svn.postgresqlfr.org/browser/materials/advocacy/trunk/confs/plpgsql/tutoriel-plgpsql-rmll2008.odp?rev=1091&format=raw Atelier sur PL/pgsql] (par Jean-Christophe Arnu, aux RMLL 2008, juillet 2008).<br />
* [http://dalibo.org/postgresql_et_la_haute_disponibilite PostgreSQL et la haute-disponibilité] (par Jean-Paul Argudo, avril 2009).<br />
* [http://dalibo.org/haute_disponibilite_avec_postgresql Haute disponibilité avec PostgreSQL] (par Guillaume Lelarge, octobre 2009).<br />
* [http://wiki.postgresql.org/wiki/PGDay.EU%2C_Paris_2009 Conférences françaises (et anglaises) lors du PGDay 2009].</div>Vincentp