nyuuzyou/wikis huggingface dataset:
Pg envent cn oct hangzhou

=杭州, 2011年10月29日, PostgreSQL 用户交流=
#时 间: 2011年10月29日 周六
#地 点: 杭州市紫荆花路2号联合大厦B座11楼, (西溪国家湿地公园附近)
#费 用: AA (估计50-80元) 
#报名方式: digoal@126.com (邮件内容请注明公司,姓名,职位,联系方式)
#联 系 人: Digoal.Zhou, QQ:276732431
#主 题: 杭州及附近地区PostgreSQL用户互相认识交流的首次聚会, 彼此交流各自PG的使用情况, 促进PostgreSQL技术社区在中国地区的发展.
#活动流程:
时间 	编号 	主题 	演讲人 	演讲资料下载
09:00 - 09:20	1 	签到 	无 	无
09:20 - 10:00	2 	开场, 自我介绍环节 	斯凯Nasdaq:MOBI VP樊博士 	
10:20 - 11:05	3 	PostgreSQL 9.1体验 	斯凯Nasdaq:MOBI Digoal.Zhou 	
10:20 - 11:05	3 	PLProxy原理与实践.pdf 	斯凯Nasdaq:MOBI Digoal.Zhou 	
11:10 - 11:55	4 	邂逅Oracle与PostgreSQL 	斯凯Nasdaq:MOBI 三少 	
12:00 - 12:30	5 	合影留念 	全体人员 	
10:00 - 10:20	6 	PostgreSQL 中国社区介绍 	Galy 	演讲资料
13:30 - 14:25	7 	数据仓库相关技术主题分享 	斯凯Nasdaq:MOBI 陈冬 	
14:30 - 15:25	8 	PostgreSQL VS MySQL 	阿里巴巴数据库专家 唐成 	
15:30 - 16:15	9 	GreenPlum 使用经验分享 	阿里巴巴数据库专家 唐成 	
16:15 - 17:00	10 	PostGIS 应用经验分享 	斯凯Nasdaq:MOBI 胡珊 	File:胡珊_POSTGIS移动互联网应用分享.pdf‎
17:00 - 17:45	11 	PostgreSQL和Oracle的管理艺术 	斯凯Nasdaq:MOBI Francs.Tan 	
18:00 - 20:00	12 	用餐 及 自由交流 	 	
Category:Chinese
PG Events in China

== 北京 ==
* 正在举办的聚会
 北　　京2011年11月5日Postgresql北京用户交流会
 时　　间：2011年11月5日 周六
 地　　点：瑞格咖啡‎ 北京市海淀区知春路盈都大厦c座107
 费　　用：AA
 报名方式：louis@easyea.com (邮件内容注明 姓名、公司、联系方式、人数)
 联 系 人：逯永收 QQ：28401579
 主　　题：北京及附近地区PostgreSQL用户互相认识交流的聚会, 彼此交流各自PG的使用情况, 促进PostgreSQL技术社区在中国地区的发展
 活动流程：待定
== 广州 ==
* 正在举行的聚会
本周广州地区的PostgreSQL数据库聚会取消，改为和2011年10月30日的珠三角技术沙龙数据库专场一起合并举行，欢迎各位参加 http://t.cn/asOSVy 有各种数据库(SQL和NoSQL)的介绍。
* 过去的聚会
== 杭州 ==
* 正在举行的聚会
 杭州, 2011年10月29日, PostgreSQL 用户交流
 时 间: 2011年10月29日 周六
 地 点: 杭州市紫荆花路2号联合大厦B座11楼, (西溪国家湿地公园附近)
 费 用: AA (估计50-80元) 
 报名方式: digoal@126.com (邮件内容请注明公司,姓名,职位,联系方式)
 联 系 人: Digoal.Zhou, QQ:276732431
 主 题:
 杭州及附近地区PostgreSQL用户互相认识交流的首次聚会, 彼此交流各自PG的使用情况, 促进PostgreSQL技术社区在中国地区的发展.
 活动流程:
 上午:
 09:00 - 09:20 签到
 09:20 - 10:00 开场, 自我介绍环节 ( 斯凯Nasdaq:MOBI VP樊博士 )
 10:00 - 10:20 PostgreSQL 中国社区介绍 ( PostgreSQL中国用户会会长 Galy )
 10:20 - 11:05 PostgreSQL 9.1体验 ( 斯凯Nasdaq:MOBI Digoal.Zhou )
 11:10 - 11:55 邂逅Oracle与PostgreSQL ( 斯凯Nasdaq:MOBI 三少 )
 12:00 - 12:30 合影留念
 12:30 - 13:30 用餐
 下午:
 13:30 - 14:25 数据仓库相关技术主题分享 ( 斯凯Nasdaq:MOBI 陈冬 )
 14:30 - 15:25 PostgreSQL VS MySQL ( 阿里巴巴数据库专家 唐成 )
 15:30 - 16:15 GreenPlum 使用经验分享 ( 阿里巴巴数据库专家 唐成 )
 16:15 - 17:00 PostGIS 应用经验分享 ( 斯凯Nasdaq:MOBI 胡珊 )
 17:00 - 17:45 PostgreSQL和Oracle的管理艺术 ( 斯凯Nasdaq:MOBI Francs.Tan )
 18:00 - 20:00 用餐 及 自由交流
 用餐地点:
 联合大厦B座2楼外婆家
== 成都 ==
Category:Chinese
PGFGCharter

== This page is currently undergoing significant revision and should be considered a DRAFT. Once finished and approved, this content will be permanently moving to www.postgresql.org ==
 Governance Charter of the Relationship
 between the PostgreSQL project
 and Software in the Public Interest, Inc.'''
== Core Team Membership ==
The Core Team of the PostgreSQL project currently consists of the following people:
Peter Eisentraut, Magnus Hagander, Tom Lane, Bruce Momjian, Dave Page. The Core Team appoints its own members.
== Fundraising Group Membership ==
The Fundraising Group (a.k.a. Funds Group) of the PostgreSQL project initially consisted of the members of The PostgreSQL Foundation Inc. that were active at the time of its termination. Thereafter, the Fundraising Group appoints its own members using the normal procedures for proposals and votes, as described below. The current membership is shown here: Fundraising Group members
== Fundraising Group Elected Positions ==
The Fundraising Group elects an SPI Liaison and an Deputy SPI Liaison. The appointments are subject to the veto of the Core
Team. The appointments do not have an explicit duration, but either may be replaced at any time using the normal procedures for proposals and votes, as described below.
The duty of the SPI Liaison is primarily to represent the interests and decisions of the Fundraising Group to SPI. Additionally the SPI Liaison will submit to SPI on an ongoing basis a list of persons eligible for automatic SPI contributing membership in recognition of their contributions to the PostgreSQL project.
The duty of the Deputy SPI Liaison is to perform the duties of the SPI Liaison in the case that the SPI Liaison is unavailable for a non-trivial amount of time, or upon explicit request of the SPI Liaison or the Fundraising Group.
== Proposals and Voting ==
Proposals must be made explicitly via email on the Funds Group mailing list, and be seconded prior to discussion and voting.
Decisions require discussion and voting in accordance with How the Fundraising Group votes in order to be valid.
Category:PGFG
Category:Funds
Category:Donations
PGFGMembers

== Active PGFG Members ==
Name 	Location 	Role
Andreas Scherbaum 	Germany 	Member
Dave Cramer 	Canada 	Backup Liaison
Dave Page 	U.K. 	Member
David Fetter 	U.S.A. 	Member
Devrim Gunduz 	U.K. 	Member
Granthana Biswas 	Germany 	Member
Greg Sabino Mullane	U.S.A. 	Member
Hans-Jürgen Schönig	Austria 	Member
Joe Conway 	U.S.A. 	Member
Jonathan Katz 	U.S.A. 	Member
Lætitia Avrot 	France 	Member
Larry Rosenman 	U.S.A. 	Member
Marc Fournier 	Canada 	Member
Mark Wong 	U.S.A. 	Member
Michael Meskes 	Germany 	Member
Noah Misch 	U.S.A. 	Member
Oleg Bartunov 	Russian Fed.	Member
Peter Eisentraut 	U.S.A. 	Member
Renee Phillips 	U.S.A. 	Member
Robert Treat 	U.S.A 	Liaison
Valeria Kaplan 	U.K. 	Member
Vik Fearing 	France 	Member
== Past PGFG Members ==
Name 	Location	Role
A. Elein Mustain 	U.S.A. 	Member
Andrew Sullivan 	Canada 	Member
Christopher Browne	Canada 	Member
Gavin M. Roy 	U.S.A. 	Member
Josh Berkus 	U.S.A. 	Member
Lamar Owen 	U.S.A. 	Member
Rod Taylor 	Canada 	Member
Tatsuo Ishii 	Japan 	Member
Joshua Drake 	U.S.A. 	Member
Category:PGFG
Category:Funds
Category:Donations
Pg filedump

= pg_filedump =
pg_filedump is a utility to format PostgreSQL heap/index/control files
into a human-readable form. You can format/dump the files several ways,
as listed in the Invocation section, as well as dumping straight binary.
Git repository
README
== Download ==
* 14.1
* 14.0
* 13.1
* 13.0
* 12.0
* 11.0
* 10.1
* 10.0
* 9.6.0
* 9.5.0
* 9.4.0
* 9.3.0
* 9.2.0
* 9.1.0
* 9.0.0
Pgfoundry

NOTE: pgFoundry has now been shut down permanently. Please see Project Hosting for alternatives.
pgfoundry.org was a website hosting various Postgres-related software projects. It was the successor to gborg, and ran using GForge, an open source collaborative software development tool.
It seems that the domain name now belongs to a different organization, but the old website can be seen at archive.org: archive.org
Archived code of most PgFoundry projects is available at https://www.postgresql.org/ftp/projects/pgFoundry/.
See Project Hosting for more information about what pgfoundry provides, and alternatives to it.
Category:Development
Pg gethostname

Here is a compilable C function to get the server hostname. An updated version is also available on PGXN.
Tested with CentOS 5 x86_64, postgresql 9.0 & 9.1.
Probably works in earlier versions of pg and other linux distros, but haven't tested.
/*
	A PostgreSQL function for getting the hostname.
 File: `pg_config --libdir`/pg_gethostname.c
	To compile... (make sure pg_config is in your PATH)
	gcc -I$(pg_config --includedir-server) -fpic -c pg_gethostname.c -L$(pg_config --libdir)
	gcc --shared -o pg_gethostname.so pg_gethostname.o
	
	To create the funciton in PostgreSQL...
	CREATE OR REPLACE FUNCTION pg_gethostname() RETURNS text
		AS 'pg_gethostname'
		LANGUAGE C IMMUTABLE STRICT;
		
*/
#include "postgres.h"
#include <limits.h>
#include <unistd.h>
#include <string.h>
#include "fmgr.h"
#include "utils/palloc.h"
#include "utils/elog.h"
#include "storage/bufpage.h"
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
PG_FUNCTION_INFO_V1( pg_gethostname );
Datum pg_gethostname( PG_FUNCTION_ARGS );
Datum pg_gethostname( PG_FUNCTION_ARGS )
{
	text *t;
	char server_hostname[HOST_NAME_MAX];
	size_t length;
	
	if ( gethostname( server_hostname, HOST_NAME_MAX ) != 0 )
	{
		// returning an empty string for the hostname if it fails makes
		// sense because if it succeeded, we would have a name
		server_hostname[0] = '\0';
	}
	length = strnlen( server_hostname, HOST_NAME_MAX );
	t = (text *) palloc(VARHDRSZ + length );
	SET_VARSIZE( t, VARHDRSZ + length );
	memcpy( VARDATA(t), server_hostname, length );
	PG_RETURN_TEXT_P( t );
}
Usage:
 postgres# select pg_gethostname();
 pg_gethostname 
 ----------------
 myserver
Category:C
Installation with a makefile
http://www.postgresql.org/docs/9.1/static/extend-pgxs.html
This worked for me on Ubuntu 12.04 64bit PostgreSQL 9.1
Create a makefile in the directory of your choice
 # makefile
 MODULES = pg_gethostname
 
 PG_CONFIG = pg_config
 PGXS := $(shell $(PG_CONFIG) --pgxs)
 include $(PGXS)
Put pg_gethostname.c in the same directory and run the following script.
You have to have pg_config in your path
 #!/bin/bash
 # Install script
 PGXS=`pg_config --pgxs`
 PG_CONFIG=`which pg_config`
 make
 make install
 echo "CREATE OR REPLACE FUNCTION pg_gethostname() RETURNS text AS 'pg_gethostname' LANGUAGE C IMMUTABLE STRICT;" | psql -U postgres template1
PgkernalDebugEnvironmentSetup

=调试环境搭建概述=
介绍主要操作系统下PostgreSQL内核开发调试环境的搭建
=VIM =
 vim+gdbvim PostgreSQL 9.1调试环境搭 
=VI=
 linux下postgresql数据库debug环境搭建 
=emacs=
 Linux下搭建PostgreSQL调试环境 
=Eclipse=
===RHEL6===
rhel6+postgresql8.4+postgis1.4+eclipse CDT3.6 调试环境搭建 
===UBUNTU 9===
postgresql8.4+postgis1.5+eclipse CDT3.6 调试环境搭建 
=Windows=
===VS 2005===
Windows下搭建PostgreSQL调试环境 
PostgreSQL内核分析(1): 后台进程 之环境搭建 
Category:Chinese
Pgkernel/activities

=中国PostgreSQL内核分析团队活动介绍=
如需要修改本页，请注册帐号，注册地址
Postgres内核交流QQ群：191516184
=近期活动=
暂无。
=往期活动=
==2012年1月8日晚8点-9点，网上第一次内核分析会议，讨论内核分析如何展开。==
(谁告诉我anchor怎么加？)会议纪要如下：
首先测试通讯工具，QQ语聊参与人不能超过6个，Skype貌似人多了效果不是很好（但是到多少开始效果不好，不知道），然后建立了临时会话(参与人数也有限额，似乎不会超过10来个，后面的人就加不进去了)，后来聊到一半的时候，由于仅仅是文字，干脆直接用群来沟通。以后大家有没好的沟通工具可以介绍的？
然后大家确定了研讨题目：征询大家的需求：发言模板是：“我的目标是...我现在的工作是...我的困难是...“。下面是一个发言的列表纪要：
# 让PG更快，更好，更稳定。
# 我想直到内核pg共享内存是怎么做的
# 能适应庞大的时空数据，包括存储和索引的扩展
# 我觉的要研究内核，有一个好的编译和开发环境是比较重要的，WIN下的编译环境太难搞了
# 连接客户端的socket用的什么模型
# 我的目的是学习原理，针对hadoop和hive进行必要改造
# 为何一个select语句，搜集完了所有的数据，才一下子全部发送给客户端，可能需要修改这个模式，特定的应用中很笨拙，像nginx，可以边准备数据和发送结果
# 如果一个数据库有百万人以上使用的，怎么设计硬件架构？
# 我的目标是了解熟悉pg的高可用技术（比如复制同步等）及查询优化器的原理，如果可能对比oracle或mysql方便选型，另外关注greenplum。
# 我的困难是想开发扩展应用，所以需要了解内核及外围接口的开发
# 学习内核，最好有一些问题出发，通过看内核代码 ，来回答这些问题:1. 如系统cache为何为每一个进程都分配一份，为何不放到共享内存中？2. PostgreSQL是否可以很好的支持大内存做shared_buffer，如分配32G以上的内存？3. 同一个字段索引可以建多个相同的索引，但哪个索引起作用？4. PostgreSQL是否可以支持裸设备，如果想支持，如何改造？
# 使用gist查找索引节点时候，每次只是查找一个有效tuple，而不是一组，但gist本身有这些个函数，但从来没发现被调用过
# 是否可以通过解析WAL日志，来实现数据的逻辑同步？
# 我的目标是熟悉整个pg内核架构，针对我的一些应用做深入研究，我现在的工作是在阅读分析内核那本书，才起步。
# 我现在的工作主要是负责数据库的选型及架构设计和规范及数据库的维护，对oracle和mysl了解多些，对pg了解少些，想减少对oracle的依赖，根据业务情况适当引入pg
# 我的目标是建立一个因特网MIS应用。我现在的工作是基于pg做新一代MIS的设计。我的困难是pg在大连接数量下如何保证稳定运行
# 如何把PostgreSQL数据库与当前流行的硬件（如SSD,infiniband)结合起来，形成高可用、高性能的数据库解决方案
# 如果同时的连接数量有上千，应该怎么配置数据库？分布在不同机器上？
# 想各地有各地实际的地面活动
# 建立微群（微博）,微群聊起来比较方便
# 研究内核的最大困难是：目标不是很清楚，不知道研究了之后，需要形成什么成果？需要找到感兴趣的人。最需要群来牵头确定几个议题
# 让先行者针对内核的一部分做个主题，比如画个概图，是什么原理，然后分配大家一起研究源码
# 查询优化
# 因此要有几个内核的高手，或者是先行者，带领大家，入门了大家会很感兴趣，因为我们都是搞技术的
# 《postgresql内核分析》这本书上基本的原理性的东西和环境的搭建都有，大家可以看看
# 大家还是说一些专题性的内容，比如数据块的存储格式及事务管理的控制等，这样讨论起来比较深入。
# 有朋友建议课题：如何建立开发编译和跟踪的环境
# 有人提议把群的论坛利用起来
# 刚才几个朋友谈到关于架构的问题，这个我想或许我们可以启动一个项目，针对不同的数据应用，不同的数据规模，启动一个架构项目
# 我弄一个建立索引的测试。一直就没想明白 pg的索引为什么建立的那么慢。没把我郁闷死@从而想学习内核的冲动。
写到这里，感触万千呀，大家都是好样的，继续,简单总结一下：
# 关于项目：今后的工作开展的基本思路是：1.某个人A提出一个研究需求，或者研究问题2.某几个高手B*，初步研究一下如何确定研究项目，包括研究时间的确保，研究人员，研究的目标等3.B启动项目，A参与，4.B退出，A等人接手。这个思路的问题是，如果对某个研究领域没有高手，怎么办，所以我想这个群大家尽量的请高手进来
# 各地有条件的组织一个分享会，广州由Galy组织，深圳也由Galy组织，北京kikigo说可以提供场地，但是要提前预订，可以提前一周联系
Category:Chinese
Pgpass

Most access to the database, including the psql program, goes through the libpq library. This library includes a feature where if you specify a file called .pgpass (or the file referenced by PGPASSFILE) you can put the password needed to connect as a user in there. This allows automating routine administration tasks through mechanisms like cron.
The format of the .pgpass file is the following:
 hostname:port:database:username:password 
When the password contains a colon (:), it must be escaped by a backslash (\:).
the character '*' can match any value in any of the fields (except password)
n.b.: if the environment variable PGPASSWORD is set, then the ~/.pgpass file is not read
Example PGPASSFILE value for a path with spaces on Windows 7 64-bit:
set PGPASSFILE=C:\Program Files\someapp\pgpass.conf
Note that the environment variable value must not use " (double quotes).
Category:FAQ
Category:Administration
Pgpass/ja

psqlプログラムなどほとんどのデータベースへのアクセスはlibpqライブラリを介して行われます。
このライブラリには、.pgpassというファイル(もしくはPGPASSFILEで指定されたファイル)を指定し、そこにユーザとして接続するために必要なパスワードを記載することができる機能があります。
これによりcronなどの機構を介した日常的な管理作業を自動化することができます。
.pgpassファイルの書式は以下の通りです。
 hostname:port:database:username:password 
（パスワード部分を除く）任意のフィールドに'*'という文字を記述することですべての値に一致させることができます。
注意：PGPASSWORD環境変数が設定されていると、~/.pgpassファイルは読み取られません。
Category:FAQ
Category:Administration
Category:Japanese
Pgpass/ru

Доступ к базе, в том числе утилитой psql, осуществляется с помощью библиотеки libpq. Библиотека, при использовании специального файла .pgpass, либо файла указанного в переменной окружения PGPASSFILE, позволяет указать пароль пользователя, от лица которого производится подключение. Это удобно для автоматизированных процессов, установленных, например, на cron.
Формат файла .pgpass следующий:
 хост:порт:база:пользователь:пароль
знак * позволяет задать маску для любого из параметров, за исключением пароля.
В Unix системах привилегии на доступ к файлу должны запрещать любой доступ для всех и для группы (chmod 0600 ~/.pgpass). Если привилегии менее строгие, то файл ~/.pgpass будет игнорироваться.
Внимание! Если установлена переменная PGPASSWORD, то файл ~/.pgpass не читается.
Пример значения PGPASSFILE для пути, содержащего пробелы, в системе Windows 7 x64:
 set PGPASSFILE=C:\Program Files\someapp\pgpass.conf
Стоит помнить, что значение переменной не должно содержать двойных кавычек.
Category:FAQ
Category:Administration
Category:Russian
PGQ Munin Plugin

== Indicators ==
PGQ provides lag and last_seen indicators.
;lag: age of next event to be processed by given consumer
;last_seen: age of the last time a consumer asked for work (next_batch())
== Code ==
The wikimedia software isn't setup to accept text file uploads, so here's the content of it:
 #!/bin/bash
 # Magic markers - optional - used by installation scripts and
 # munin-node-configure:
 #
 #%# family=auto
 #%# capabilities=autoconf suggest
 #
 
 prog=$(basename $0)
 dbname=$(echo $prog | cut -d_ -f 2- | cut -d. -f1)
 queue=$(echo $prog | cut -d_ -f 2- | cut -d. -f2)
 
 psql="psql -At"
 
 [ ! -z "$dbhost" ] && psql="$psql -h $dbhost"
 [ ! -z "$dbport" ] && psql="$psql -p $dbport"
 [ ! -z "$dbuser" ] && psql="$psql -U postgres"
 
 case "$1" in
 config)
 	echo "graph_category pgq"
 	echo "graph_title PgQ $dbname $queue consumer lag"
 	echo "graph_vlabel seconds"
 	echo "graph_args --lower-limit 1 --base 1000 --logarithmic"
 	echo "graph_info Shows Pgq Lag " 
 
 	select="SELECT consumer_name FROM pgq.get_consumer_info('$queue');"
 
 	while read consumer
 	do
 	 consumer=$(echo $consumer | tr .- __)
 	 echo ${consumer}_lag.label $consumer lag
 	 echo ${consumer}_lag.type GAUGE
 	 echo ${consumer}_lag.draw LINE
 
 	 echo ${consumer}_last_seen.label $consumer last seen
 	 echo ${consumer}_last_seen.type GAUGE
 	 echo ${consumer}_last_seen.draw LINE
 	done < <($psql $dbname -c "$select" 2>/dev/null)
 	exit 0
 	;;
 
 autoconf)
 	sql="SELECT DISTINCT(queue_name) FROM pgq.get_consumer_info();"
 
 	working=false
 
 	for db in $($psql -Alt 2>/dev/null | cut -d\| -f1)
 	do
 	 for queue in `$psql $db -c "$sql" 2>/dev/null`
 	 do
 		working=true
 	 done
 	done
 
 	if [ $working = 'true' ]
 	then
 		echo yes
 		exit 0
 	else
 		echo no
 		exit 1
 	fi
 
 	;;
 
 suggest)
 	sql="SELECT DISTINCT(queue_name) FROM pgq.get_consumer_info();"
 	coderetour=1
 
 	for db in $($psql -Alt 2>/dev/null | cut -d\| -f1)
 	do
 	 for queue in `$psql $db -c "$sql" 2>/dev/null`
 	 do
 		echo $db.$queue
 		coderetour=0
 	 done
 	done
 
 	exit $coderetour
 	;;
 esac
 
 sql="SELECT consumer_name, EXTRACT(epoch from lag) AS lag, \
 EXTRACT(epoch FROM last_seen) AS last_seen \
 FROM pgq.get_consumer_info('$queue');"
 
 while read consumer lag last_seen
 do
 consumer=$(echo $consumer | tr .- __)
 
 echo ${consumer}_lag.value $lag
 echo ${consumer}_last_seen.value $last_seen
 done < <($psql $dbname -F ' ' -c "$sql" 2>/dev/null)
== Installation ==
Place the file in /usr/share/munin/plugins or some documented place then run
 /usr/sbin/munin-node-configure --shell
The command will give you the needed ln -s commands to run in order to have the plugin installed, depending on your configuration. You want to run this on the server hosting a PostgreSQL database hosting PGQ queue.
Category: Languages
Pg reorg

Historical note as of year 2020: The pg_reorg project development was ceased and/or forked into several other projects. Archived project releases are available at https://www.postgresql.org/ftp/projects/pgFoundry/reorg/.
The pg_repack project looks like a close descendant of pg_reorg.
== Project Organization ==
The pg_reorg developers are slowly moving the project from its old home on Pgfoundry to github. The current stable release of pg_reorg is 1.1.7, and the bleeding edge is git master. The project mailing list is still hosted on Pgfoundry. Please report bugs on the github issue tracker. 
Official documentation page: pg_reorg, though documentation is being moved to the github wiki
== Why use pg_reorg? ==
pg_reorg is handy when you have a large table which has become bloated (see Show database bloat for a useful bloat-detection query). If you are able to hold an AccessExclusive lock on the table for an extended period, you have it easy: just use CLUSTER or VACUUM FULL. However, if your table is busy being accessed by queries which can't wait hours while a CLUSTER/VACUUM FULL completes, you need a solution which will de-bloat your table and indexes while allowing concurrent reads and writes of the table. pg_reorg allows you to do precisely this. See also depesz's summary.
Pg restore

pg_restore restores a PostgreSQL database from an archive file created by pg_dump. See documentation for details.
== Wishlist ==
This list includes things we might like to be able to do and currently can't. These are unofficial Todo items.
; Optimize data load using TRUNCATE before COPY even if we use non-single-transaction and --jobs=1
: Somehow we didn't use TRUNCATE-and-COPY optimization in single-threaded restore. Patch submitted here.
; Support --single-transaction and --clean to an empty database
: Restore fails because --clean generates DROP TABLE. Instead, DROP TABLE IF EXISTS will enable the restore in some cases.
; Consistent behavior for --data-only and --clean
: We don't add any commands for --clean for data except large objects. TRUNCATE before COPY seems to be a consistent behavior. FYI, we add DROP TABLE before data loading with schema (without --data-only).
; Have --compatible-mode to be able to restore other databases
: "pg_dump --column-inserts" generates a bit more portable dump, but there are still issues, like BOOLEAN vs BIT.
Category:Todo detail
Pg session 7

==Schedule==
Schedule is available at the following website: http://www.postgresql-sessions.org/7/start
== Talks: Thursday, September 24th, 2015 ==
* pg_rewind - resynchronizing servers after failover, Heikki Linnakangas - Pivotal
* Postgresql-Postgis, les usages pour la sécurité intérieure, Vincent Laborie & Éric Pommereau
* Exemple d'une migration de PostgreSQL sous Linux d'un système de suivi de production, Nicolas Relange
* PostGIS : trucs et astuces , Olivier Courtin
* présentation du projet Tempus, Olivier Courtin
* http://www.postgresql-sessions.org/_media/7/office_.net_et_postgresql.pdf Office, .NET & … PostgreSQL : tiercé gagnant pour les institutions publiques ?, Jean-Marc Guazzo
* What's new in PostgreSQL 9.5 ?, Magnus Hagander
* Témoignage utilisateur sur la mise en œuvre de la réplication, Michel Edwell
* Optimisation de requêtes, avec PoWA / pg_qualstats / pg_stat_kcache / HypoPG, Julien Rouhaud & Ronan Dunklau - Dalibo
* Oracle, comment peut-on s'en passer ?, Gilles Darold - Dalibo
* Retour d'expérience sur le remplacement d'une base comme CouchBase par PostgreSQL, et son importance croissante dans les portfolios de bases de données de cette banque, Emmanuel Remy - CASDEN
* utilisateur de PostgreSQL depuis 2009, Fabrice Noël - SoDExI
== Video ==
Thanks to the Mozilla Foundation, the talks are available here.
PGStrom

IMPORTANT NOTICE
Description of this wikipage is not maintained for more than a year.
Please reference the online manual of the PG-Strom project instead.
* PG-Strom Github: https://github.com/heterodb/pg-strom
* PG-Strom Documentation: http://heterodb.github.io/pg-strom/
* PG-Strom Documentation(Japanese): http://heterodb.github.io/pg-strom/ja/
NOTE: Deprecated documentation was removed to avoid confusion (22-Feb-2017)
PGStrom Roadmap

= PostgreSQL 9.6 timeline =
== PG-Strom extension ==
* PL/CUDA (done)
** It allows to write up raw CUDA code as SQL function. PG-Strom moves bunch of data set to GPU then kicks user defined kernel function.
* CPU+GPU Hybrid Parallel (in-progress)
** It makes CustomScan nodes under the Gather node. Each worker uses GPU for finer grained parallel execution.
* SSD-to-GPU Direct DMA (in-progress)
** It enables direct data transfer from SSD blocks to GPU RAM, then CPU receives only valid rows, joined records, or partially aggregated values.
= PostgreSQL 10 timeline =
== In-database Analytics ==
* Sparse Matrix Datatype - It tries to represent vector/matrix data as a basis of analytic/statistical algorithm on database system. It intends (1) large amount of data set more than 1GB, and (2) reasonable memory consumption if matrix is actually sparse.
* Analytic Functions - as a use case of sparse matrix, we plan to submit several analytic/statistical functions as a contrib module. Unsupervized learning algorithms (kmeans, Ward-clustering) are candidates.
== CPU Parallelism ==
* Parallel aware Append - In case when multiple partitioned tables are scanned or simple UNION ALL conjunction, we have good chance to run these portions in parallel under the Gather node. It is a feature 0racle does not have but people often wants. 
== CustomScan Interface ==
* Improvement - Continuous improvement to follow up planner / executor enhancement. The goal of CustomScan is allowing extensions to implement arbitrary logic as if it is built-in feature.
* Limit support - pass_down_bound() tells underlying nodes how much rows are required to produce if it is Sort, MergeAppend or Result. If a sorting logic is implemented on top of CustomScan, it cannot see the hint information.
= Beyond PostgreSQL 10 =
Right now, I don't have enough time working on the topic below, even motivated.
== Wise optimization for OLAP ==
* Risk factor in nrows estimation
** Execution cost of nested-loop growth rapidly if number of outer rows is much larger than the estimation. Right now, optimizer relies on the estimated nrows, however, its exactness fully depends on complicity of the underlying sub-plan. If outer plan is simple table scan, its estimated nrows are almost correct. So, its risk factor shall be small. On the other hands, if outer plan is multi-tables join with complicated qualifiers, estimation is less reliable.
** For OLAP workloads, we have to pay attention to variation of the estimated nrows. It may needs to swith more robust algorithm (HashJoin, MergeJoin) when estimated nrows is less reliable.
* Group by before JOIN
** Under some condition, we can rewrite query to place GROUP BY before join. It will reduce number of rows to be joinned, and allows to utilize massive parallel processors more efficient.
** Earlier study: http://www.comp.nus.edu.sg/~cs5226/papers/groupby-join-icde94.pdf
* Wise optimization on some corner cases
** In some TPC-DS workloads, parametalized sub-query makes massive performance degradation, even though we can rewrite most of the problematic queries in mechanical way. And, 0racle pulls-up these queries correctly.