nyuuzyou/wikis huggingface dataset:
Centalad

CENTALAD (Centro de Tecnologías de Almacenamiento y Análisis de Datos) de la Universidad de las Ciencias Informáticas, Cuba.
= Misión =
* Proveer soluciones integrales y consultorías relacionadas con tecnologías de bases de datos y análisis de información.
* Desarrollar nuevas tecnologías de bases de datos, de procesamiento y representación de la información a partir del desarrollo de proyectos de I+D, con enfoque a la soberanía tecnológica.
* Contribuir con su trabajo al cumplimiento de las misiones fundamentales de la Universidad de las Ciencias Informáticas (UCI): la formación y la producción de software; con profesionales integrales, comprometidos con un alto nivel científico y productivo.
= Visión =
* Alcanza prestigio internacional a mediano y largo plazo, su visibilidad se refleja en los proyectos y contratos que establece, la calidad de sus producciones y las publicaciones científicas de alto nivel que desarrolla.
* Mantiene estrecha colaboración con importantes empresas, centros de investigación y desarrollo de alto nivel así como con comunidades internacionales de desarrollo.
* Centro de excelencia en la formación en tecnologías de bases de datos para el pregrado y el postgrado con una estrecha relación con entidades docentes.
* Los miembros del Centro son comprometidos, creativos y eficientes, motivados por la misión y los objetivos de la Universidad de las Ciencias Informáticas.
= Servicios que oferta =
== Análisis Inteligente de Datos ==
* Implantación de soluciones integrales y consultorías de análisis y almacenes de datos para PostgreSQL.
* Montaje de Cuadros de Mando Integral.
* Montaje de Dashboards Corporativos.
* Diseños y análisis multidimensionales.
* Servicios de integración y migración de datos a PostgreSQL, soporte a la integración con tecnologías, lenguajes y plataformas de bases de datos.
== Tecnologías de Bases de Datos ==
Consultoría especializada en bases de datos:
* Montaje de servidores, clústeres y almacenes de datos para PostgreSQL.
* Tecnologías y diseños de bases de datos.
* Rendimiento de bases de datos.
* Seguridad de bases de datos.
* Servicios de soporte, monitoreo y control de servidores.
= Productos que desarrolla =
== Paquete de Herramientas para la Ayuda a la Toma de Decisiones (PATDSI) ==
* Generador de Reportes Dinámicos con soporte a PostgreSQL.
* Paquete para la captura de datos y el procesamiento estadístico de bases de datos PostgreSQL.
* Paquete para la minería de datos a bases de datos PostgreSQL.
=== Beneficiados ===
MENPET-Venezuela, ERP-Cuba
Oficina Nacional de Estadísticas-ONE
== Montaje de Soluciones Integrales de Almacenes de Datos e Inteligencia de Negocios ==
* Sistema de Información (INE Venezuela).
* Almacén de datos (ONE) en PostgreSQL.
== Paquete de herramientas para el Soporte a PostgreSQL ==
* Guía de migración a PostgreSQL.
* Paquete de soluciones de réplicas en PostgreSQL.
* Paquete de soluciones para el montaje de clústeres de servidores PostgreSQL.
* Plataforma integral para el trabajo colaborativo, con base de datos en PostgreSQL.
Category:Español
Change management tools and techniques

This page describes various tools and methodologies for conducting database changes and deploying them. It includes tools to manage schema changes (via patches, or by adding complete SQL files), sproc changes and data migrations.
== Schema management tools ==
* Versioning by Hubert "depesz" Lubaczewski blog post
* Sqitch by David Wheeler official website
* Schema evolution manager (sem) by Gilt Groupe PGDay NYC 2013 presentation
* Pyrseas 
* DBSteward
* PGmigrate
* migra: like diff but for PostgreSQL schemas by djrobstep
* PostgresCompare
* pgquarrel
* Tusker by Michael P. Jung
* metagration by Michel Pelletier
* Migrate
* migratory
* Bytebase CNCF Landscape Database CI/CD
* pg-schema-diff schema diff and online-focused migration tool by Stripe
== Functions deployment ==
* fdiff by Joel Jacobson blog post
* Schema-based API versioning by Valentine Gogichashvili
== Presentations ==
* ALTER DATABASE ADD SANITY by Alexey Klyukin
* Your database migrations are bad and you should feel bad(broken link: djrobstep.com/talks/your-migrations-are-bad-and-you-should-feel-bad) by djrobstep
== Miscellaneous ==
* Database Lab Engine – thin clones for PostgreSQL (includes DB Migration Checker)
Change the default PGDATA directory on Windows

PostgreSQL for Windows installs the PGDATA directory by default into "C:\Program Files\PostgreSQL\some version\data". This mini-HOWTO explains how to change the default PGDATA directory to another location.
=== Step 1: Stop The PostgreSQL Service ===
Close all application that are currently connected to your database, then go to Windows Services Management and stop the PostgreSQL service:
Start->Settings->Control Panel->Administrative Tools->Services
You should check the task manager to see if any postgresql.exe instances are still running. If so, DO NOT TERMINATE them, instead close all applications that are still connected to the database. Sometimes services like webservers keep persistent connections. In this case you also should stop these services.
=== Step 2: Change Registry Values ===
Start the Windows Registry Editor (regedit.exe) and navigate to: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-some version".
Double click on "ImagePath" and change the directory after the "–D" option to your new location. If the path to your new location contains spaces, you should then enclose it with quotes.
Registry Editor
=== Step 3: Move the data folder to a new the location ===
Move your current PGDATA directory to the directory you just specified in Step 2. Please note that you should do this as Administrator on server machines.
You should also check user permissions in the new directory to ensure the username under which your PostgreSQL instance runs has permissions to do so in the new directory, otherwise PostgreSQL will not start.
=== Step 4: Restart The PostgreSQL Service ===
Before you can start your database you must close and re-open the Windows Services Management window. This refreshes the path you just changed in the registry without the need to restart your system.
After closing and re-opening the Services Management window, you should check the "path to executable" information of the PostgreSQL Database service. The path after "–D" option should be pointing to your new directory now.
Service properties
Now that the PGDATA directory has been re-located and the service startup parameter in the registry has been modified, you can go ahead and start the service.
Category:Windows Category:Install Category::Administration
Chemnitzer Linuxtage

= Notes for Chemnitzer Linuxtage =
== Things we should bring with us for the conference ==
=== For sale or give away ===
* t-shirts, pins and pens (ads)
* elephants and mugs (ads)
* flyers (ads)
=== Not for sale ===
* marker pens (to use, not for sale)
* print a price list
* open a laptop
** maybe running an automated demonstration or some kind of presentation on the laptop
* cash box
** coins for change
* table cover
* adhesive tape
* power cables and dividers
* name tags for speakers/booth helpers
* scissor
== Hotel in Chemnitz ==
* Residenz Hotel
** Bernsdorfer Straße 2
** 09126 Chemnitz
** Phone: +49-371-35 51-0
** Fax: +49-371-35 51-122
** Email: info@residenzhotelchemnitz.de
Category:PostgreSQL Events
Category:PostgreSQL Europe
ChinaCon2014Admin

2014 Postgre 大会组织者管理页面
=大会的相关任务=
== 会务 ==
=== 材料设计（设计：陆作锋） ===
-易拉宝
* 会场引导（5个）： 设计：陆作锋
* 分会场引导(4个)： 设计：陆作锋
* 某司宣传（1个）：陆作锋
* 北京宣传（1个）：
* 尺寸：80*2000
* 预算：130/个*9个=1170
-签到台背景
* 尺寸和摆放：许中清
* 设计：陆作锋
* 背景墙尺寸：7m(宽)*6m(高)
* 展板背景约: 5m*2.4m(高)
* 预算: 共1450
** 画板：350
** 支架: 1100
-T恤
* 大会T恤：设计完成、已联系商家制作 李元佳
* 参展商T恤（由参展商自行安排）
-胸牌
* 参会者胸牌：正面LOG和个人信息，反面议程
* 演讲嘉宾胸牌：
* 工作人员胸牌：
=== 志愿者 ===
* 签到台
* 场外引导
* 会场引导
* 会场摄影
* 超时提醒
* 微博大屏幕
=== 合作伙伴（许中清） ===
合作伙伴 	联系人 	赞助 	茶歇 	展位 	要求
华为 	梁文龙 	X元 	 	 	
EDB 	萧少聪 	X元 	 	2.5m*1.5m,自设计，统一摆放 	
青云 	王玉圆 	 	 	2.5m*1.5m,自设计，统一摆放 	
巨杉 	王芳 	 	 	2.5m*1.5m,自设计，统一摆放 	
好视通 	 	视频直播;可提供文件袋 	 	 	会议材料上加log,视频上加字幕
=== 演讲（王义寅） ===
*主题演讲
主题 	时间确认 	嘉宾 	嘉宾介绍 	演讲材料
 	 	 	 	
*闭门会议（李元佳）
*主持
*颁奖
*抽奖
=== 餐食 ===
* 茶歇
** 供应商提供部分
** 采购部分
** 茶歇时段以及分配
* 晚宴
* 嘉宾午餐
=== 会场布置 ===
*布置(许中清)
**场地: 南山区科兴科技园国际会议中心
**座位设置：排椅式(360人)
**展位 
**签到台 
**桌子
***签到桌
***赞助商展桌
***茶歇桌
*流程
**签到：二维码签到 （王义寅）
**礼品发放
**
*直播
**视频直播 （许中清）
**微博大屏幕 （王义寅）
**摄像 （陆作锋）
*演讲工具
**笔记本电脑5台（许中清）
**翻页笔（问下王小姐）
**时间提醒
== 推演 ==
===DAY1===
* 签到：王义寅（外加2~3个自愿者）
* 分会场CheckIn：王义寅（2个自愿者，每个人分会场一个）
* 午餐晚餐茶歇：陆作锋
* 摄影：陆作锋
* 超时提醒&递麦
** 会场一：志愿者
** 会场二：志愿者
* 闭门会议：王义寅
* 微博大屏幕：志愿者
* 视频&音乐：陆作锋
===DAY2===
== 遗留问题 ==
=大会预算= 
*会议场地 2天 x 2万= 4万
*T恤 200人x30元 = 6000元
*嘉宾礼品 30 x 1000 = 3000元
*会场布置 2000元
*签到资料 1000元
*嘉宾晚宴 30 x 150 = 4500
*嘉宾午餐1 30 x 150 = 4500
*嘉宾午餐2 30 x 150 = 4500
*茶点 2000千
*总计：6.75万
=大会实际支出=
Chinese

==Postgres用户大会==
Postgres Conference China 2015
==中国用户会==
* 用户会 
* [ QQ用户群：3336901 ]
* [ 近期活动 ]
* PostgreSQL 9.4 新特性测试与交流分享
 杭州分场
 时间: 2014-06-28 13:30 - 17:00
 地点: 福云咖啡 , 杭州市西湖区天目山路335号福地创业园5楼
 参与方式: 
 1.听众, 报名链接 http://bbs.pgsqldb.com:8079/client/pguser_info.php
 2.分享者, 报名链接 http://bbs.pgsqldb.com:8079/client/pguser_info.php
 分享要求: 所测试的功能点的详细描述, 测试方法, 测试过程, 测试结果, 分析.
 postgresql 9.4开发版下载地址
 http://git.postgresql.org/gitweb/?p=postgresql.git;a=summary
 费用: 免费
 联系人: digoal QQ: 276732431 EMAIL: digoal@126.com
 分享题目:
 1.PostgreSQL 9.4新特性分享 (Francs, 立群)
 2.PG过程语言代码封装交流 (Aida)
 3.基于ZFS快照的PostgreSQL增量备份方案 (Digoal)
 其他
 PostgreSQL内核开发虚拟团队建设沟通 (Digoal)
 
 
 北京分场
 时间: 2014-06-28 13:30 - 17:00
 地点: 北京市上地附近
 参与方式: 
 1.听众, 发邮件至quanzongliang@foxmail.com报名.
 2.分享者, 发邮件至quanzongliang@foxmail.com说明要分享的功能点.
 分享要求: 所测试的功能点的详细描述, 测试方法, 测试过程, 测试结果, 分析.
 费用: 免费
 联系人: 逯永收（louis@easyea.com）、权宗亮（quanzongliang@foxmail.com）
 QQ群: 5276420
 分享题目：
 1.PostgreSQL存储过程加密方法演示（权宗亮）
==简体中文文档==
*常见问题与解答
*9.3文档翻译项目
*9.1文档翻译项目
*9.0中文文档
*8.3 wiki版本
*8.3 全文搜索（FTI）文档
*8.1中文文档
==外部站点==
*中文 BBS
*中文社区网站
*PG 中文杂志(pgmag.org))
! Category:Users group
CI Providers

Overview of CI providers and the limits imposed
 CI Providers
Provider 	OSs 	Open source specific offering	Monthly Minutes "open repo" 	Monthly Minutesopen source 	Allows VMs	Public Logs	Links
cirrus-ci 	linux, macos, windows, *bsd	no 	~ 16.6k 1 core linux833 4 core macos	same 	yes 	yes 	https://cirrus-ci.org/pricing/#compute-services https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/
github actions	linux, macos, windows 	kinda 	unlimited (?) 	same 	no 	no 	https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
circle-ci 	linux, macos, windows 	yes 	400 	80k 1 core linux600 4 core macos 	yes (?) 	no 	https://circleci.com/pricing/ https://circleci.com/open-source/ https://circleci.com/product/features/resource-classes/
gitlab 	linux, macos, windows 	yes 	400 	if approved 50k 1 core linux8.3k 4 core macos	no 	yes 	https://about.gitlab.com/pricing/ https://about.gitlab.com/solutions/open-source/
appveyor 	linux, macos, windows 	yes 	1 concurrent job 	50% off price 	? 	? 	https://www.appveyor.com/pricing/
Client Authentication/ja

だれにデータベースへの接続を許可するかは、データベースディレクトリのルートにあるpg_hba.confで制御されます。
initdbを実行してデータベースクラスタを作成した時にデフォルトのファイルが作成されます。
initdbの呼び出し方法に依存してデフォルトで存在する権限は変わります。デフォルトではすべてのローカルユーザはデータベースに接続可能であるという、'trust'スキーマ内に新しいクラスタは作成されます。
しかし一部のPostgreSQLのパッケージ作成者はこれを変更しているかもしれません。たとえばRedHatの'service initdb'をクラスタ作成のために使用する場合は、以下のようなinitdbが呼び出されます。
initdb --pgdata='$PGDATA' --auth='ident sameuser'
これは、接続許可するユーザかどうかを見つけ出すためにあまり人気のないidentスキーマを使用します。慣れていないと挫折することになります。
データベースに対するネットワークアクセスに関する典型的な推奨設定は、ローカルなLANアドレスを指定し、かつ、安全なMD5パスワードを使用して認証したクライアントのみに許可するようにすることです。pg_hba.confの項目は以下のようになります。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.1.0/24 md5
これにより、192.168.1.0-192.168.1.255内のIPアドレスを持つクライアントからのアクセスであり、かつ、ユーザのパスワードが正しく提供された場合のみ許可されます。
このようなネットワークアクセスは、postgresql.confの設定でlisten_addressesを許可している場合のみに許されることに注意してください。
CREATE ROLEを使用してユーザを作成した時にデータベースユーザのパスワードは設定されます。また、ALTER ROLEを使用して変更することができます。createuserはこの操作を補助するための有用なラッパースクリプトです。
ちょっとした落とし穴があります。
新しいロールを作成するためにはスーパーユーザロールでデータベースに接続する必要があります。
一番最初はどうしたらよいのでしょう？
一般的な方法のひとつはサーバ上で接続するユーザのみを信頼するようなpg_hba.confから始めることです。
# "local" はUnixドメインソケット接続専用
local all all trust
# IPv4 ローカル接続:
host all all 127.0.0.1/32 trust
データベースがこのように設定されている場合、システムにログインできる全員が自由にサーバに接続できるようになります。このためこの設定のままにしようとは思わないでしょう。ここでできることはALTER ROLEを使用してpostgresスーパーユーザに強いパスワードを付与することです。この後、サーバを停止させ、pg_hba.confですべての"trust"を"md5"設定に変更し、ネットワークブロック全体を追加、ならびにlisten_addressesを設定することができます。
次に起動しなおした時には、パスワードが分かっているスーパーユーザアカウントがありますので、これを使用してユーザ向けの通常のすべてのアカウントを作成することができます。
===LDAP認証===
LDAP認証を実現するためには、'md5'を以下のように置き換えなければなりません。
:ldap "ldap://server/dc=domain,dc=local;DOMAIN\"
ここでserverとdomainはどちらも名前だけでわかるかと思います。
これにより、この機能におけるユーザ報告はすべてLDAP認証を行わなければならなくなります。
バックアップ用にLDAP上に存在しないユーザ名を使用できるように、192.168.x.x範囲内のネットワークアドレスすべてにおいてこの方法を使用し、ローカルホストではmd5を使用します。
これによりサーバ自身がスーパーユーザアカウントでバックアップを始めることができるようになります。
===関連記事===
* PostgreSQL and pam_ldap by Adrian Nida
* NSS Authentication with libnss_pgsql by David Ford
* Authenticating PostgreSQL Clients by SecurityProNews (2002-05-21)
* LDAP Authentication against AD by Joey Wang (2007-04-13)
Category:FAQCategory:Administration
Category:Japanese
Client Libraries

WARNING: This page is deprecated. For a list of PostgreSQL client libraries, please visit: Drivers
Access libraries, which allow you to talk the PostgreSQL protocol from your favorite language.
== C ==
=== libpq ===
https://www.postgresql.org/docs/current/static/libpq.html
The standard access library, used by all the standard PostgreSQL tools. It lets you do almost anything, but is quite low level.
=== ECPG ===
https://www.postgresql.org/docs/10/static/ecpg.html
SQL embedded in C. Part of the standard PostgreSQL distribution.
== C++ ==
=== libpqxx ===
http://pqxx.org/development/libpqxx/
A nice C++ library, with no dependencies other than libpq.
=== QtSql ===
http://doc.qt.io/qt-5/qtsql-index.html
A cross-database library, with decent PostgreSQL support. Integrates with Qt widgets, provides the basics.
=== Pgfe ===
https://github.com/dmitigr/pgfe
An initial release of a C++17 wrapper for libpq.
=== OZO ===
https://github.com/yandex/ozo
OZO is a C++17 library for asynchronous communication with PostgreSQL DBMS. The library leverages the power of template metaprogramming, providing a convenient mapping from C++ types to SQL along with rich query building possibilities. OZO supports different asynchronous paradigms (callbacks, futures, coroutines), using Boost.Asio under the hood. Low-level communication with PostgreSQL server is done via libpq. All concepts in the library are designed to be easily extendable (even replaceable) by the user to simplify adaptation to specific project requirements.
== Elixir ==
=== Postgrex ===
http://hexdocs.pm/postgrex/
== Go ==
=== pq ===
https://github.com/lib/pq
A pure Go driver for Go's database/sql
=== pgx ===
https://github.com/jackc/pgx
A pure Go driver, more features than lib/pq
=== go-pg ===
https://github.com/go-pg/pg
Go driver and ORM
 
== Haskell ==
=== postgresql-simple ===
https://hackage.haskell.org/package/postgresql-simple
== Java ==
=== PostgreSQL JDBC Driver ===
https://jdbc.postgresql.org
== Javascript ==
=== node-postgres ===
https://node-postgres.com
=== pg-promise ===
http://vitaly-t.github.io/pg-promise/
== Common Lisp ==
=== Postmodern ===
http://marijnhaverbeke.nl/postmodern/
=== CLSQL ===
https://github.com/sshirokov/CLSQL
== .Net ==
=== npgsql ===
http://www.npgsql.org/
== ODBC ==
https://odbc.postgresql.org/
== Perl ==
=== DBD::Pg ===
http://search.cpan.org/~turnstep/DBD-Pg/Pg.pm
The standard PostgreSQL driver for DBI based on libpq
=== DBD::PgPP ===
http://search.cpan.org/~arc/DBD-PgPP-0.08/lib/DBD/PgPP.pm
Another DBI driver, this one written in pure Perl.
== PHP ==
=== Pomm ===
http://www.pomm-project.org
ORMish
=== ext-pq ===
https://github.com/m6w6/ext-pq
A PHP binding to libpq
== Python ==
=== psycopg2 ===
https://pypi.python.org/pypi/psycopg2
== R ==
=== RPostgreSQL ===
https://cran.r-project.org/package=RPostgreSQL
DBI driver
== Ruby ==
=== ruby-pg ===
https://bitbucket.org/ged/ruby-pg/wiki/Home
== Rust ==
=== rust-postgres ===
https://github.com/sfackler/rust-postgres
Native Rust implementation.
== tcl ==
=== pgtcl ===
https://github.com/flightaware/Pgtcl
=== pgtclng ===
http://sourceforge.net/projects/pgtclng/
Clone schema

Category:SQL
by Emanuel '3manuek'
The version in this page only clones tables. There's a more complete version, that copies sequences, tables, data, views & functions, in this posting.
CREATE OR REPLACE FUNCTION clone_schema(source_schema text, dest_schema text) RETURNS void AS
$BODY$
DECLARE 
 objeto text;
 buffer text;
BEGIN
 EXECUTE 'CREATE SCHEMA ' || dest_schema ;
 FOR objeto IN
 SELECT table_name::text FROM information_schema.tables WHERE table_schema = source_schema
 LOOP 
 buffer := dest_schema || '.' || objeto;
 EXECUTE 'CREATE TABLE ' || buffer || ' (LIKE ' || source_schema || '.' || objeto || ' INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING DEFAULTS)';
 EXECUTE 'INSERT INTO ' || buffer || '(SELECT * FROM ' || source_schema || '.' || objeto || ')';
 END LOOP;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
Execution is simple:
SELECT clone_schema('old_schema','new_schema');
Worth noting is that this copies all tables in the schema, including the default values. Which, in the case of serial fields, will mean the default value points to the old schema:
 nextval('old_schema.sequence_name'::regclass)
If you want to have a new sequence for the new table in the new schema:
CREATE OR REPLACE FUNCTION clone_schema(source_schema text, dest_schema text) RETURNS void AS
$$
DECLARE
 object text;
 buffer text;
 default_ text;
 column_ text;
BEGIN
 EXECUTE 'CREATE SCHEMA ' || dest_schema ;
 
 -- TODO: Find a way to make this sequence's owner is the correct table.
 FOR object IN
 SELECT sequence_name::text FROM information_schema.SEQUENCES WHERE sequence_schema = source_schema
 LOOP
 EXECUTE 'CREATE SEQUENCE ' || dest_schema || '.' || object;
 END LOOP;
 
 FOR object IN
 SELECT table_name::text FROM information_schema.TABLES WHERE table_schema = source_schema
 LOOP
 buffer := dest_schema || '.' || object;
 EXECUTE 'CREATE TABLE ' || buffer || ' (LIKE ' || source_schema || '.' || object || ' INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING DEFAULTS)';
 
 FOR column_, default_ IN
 SELECT column_name::text, replace(column_default::text, source_schema, dest_schema) FROM information_schema.COLUMNS where table_schema = dest_schema AND table_name = object AND column_default LIKE 'nextval(%' || source_schema || '%::regclass)'
 LOOP
 EXECUTE 'ALTER TABLE ' || buffer || ' ALTER COLUMN ' || column_ || ' SET DEFAULT ' || default_;
 END LOOP;
 END LOOP;
 
END;
$$ LANGUAGE plpgsql VOLATILE;
"clusteredness" metric

== Background ==
Records are arbitrarily located throughout the table's storage. Depending on
the access pattern used to build the data it could be stored in a completely
random fashion or in very organized fashion such as with monotically
increasing values of time for example. However it's also possible for an
attribute to be in an well-organized fashion but *not* simple described as
"monotically increasing".
It's important for Postgres to know how well organized the data is to estimate
how much random access will be needed to access the data. If all the data is
closely packed together it will likely be possible to scan it efficiently. If
the data is strewn around the database it will require many slow seeks to read
the data.
== Problem Description ==
Consider data such as:
Location	A	B	C	D
1 	1	5	3	5
1 	1	5	1	5
1 	1	5	5	5
2 	3	3	2	1
2 	3	3	4	1
2 	3	3	1	1
3 	5	1	5	3
3 	5	1	4	3
3 	5	1	2	3
(Note that "locations" refers to disk blocks so they will always be monotonically increasing)
We need a metric for each of A, B, C which
* Can be stored efficiently (such as a single floating point value)
* Can be calculated by a "small" random sample of the rows (where "small" is similar to the size sample you need to calculate E(col) to 95% confidence or so.
And which can be used to calculate predictions of the some of the following:
# If all the rows for a given value of a column are read how many different "locations" will be included.
== Status Quo ==
Category:Feature request
Clustering

== Projects ==
(alphabetical order)
* Bucardo
* BDR (Bi-Directional Replication for PostgreSQL)
* Citus
* Pgpool-II
* PL/Proxy
* Postgres Pro Multimaster, part of Postgres Pro Enterprise DBMS
* Postgres-XC
* Postgres-XL, a Postgres-XC derivative/enhancement.
* Londiste/PgQ (Originally part of SkyTools)
* Slony
Work in progress is being tracked at Clustering Development Projects
== Stalled ==
Projects which seem to have stalled and have not had updates in 1+ year.
* Mammoth
* PgCluster
* Postgres-R
* rubyrep
* pg_shard
* Stado
* GridSQL
* HadoopDB
* Tungsten
* PostgresForest
== Existing Overview Docs ==
* Replication, Clustering, and Connection Pooling
== Template for information ==
To include information about a clustering project, please create a new page with the project's name as the page title, and use the template Template:ClusteringProject to describe the project.
Category:Replication
Category:Clustering
ClusteringUseCases

== Overview ==
* Nothing is really 24/7 production ready without advanced (4-5,6 9s availability)
* Without substantial expert DBA staff
* Clustering != replication
== 3 major use cases for clustering ==
1. Transactional (least change in the next 3 years) 
* 99.9999 uptime :)
* 60k Write transactions per second
* -> needs to scale to 200,000 writes per second
* 5,10,20 servers
* 0% data loss is acceptable (committed transactions)
** will sacrifice scalability, or flexibility so that we do not lose any data
2. Analytic use case
* Looking Parallelizing queries --> execution time
* Maximize amount of CPU + I/O
* (Greenplum, Aster)
* 100s of nodes
* No transactions
* in last 3 years, 11 data warehousing startups (7 using postgres)
3. Online
* No products exist to address this
* Web -> mobile services (android, iphone, symbian/Qt)
* Scale from 100k -> 1 million users -> 1 billion users
* Looking for Scalability, read and write
** Read scalability through caching (?) .. but not everything can be put here
* Rapid Deployment
* Loose xtns -> needs them for SOME things, but MOST of online services, txn is not important
** some amount of data loss is acceptable :)
* user-centered providing of data
** eventually consistent
JAN:
* Geographic distribution
* may be online use case
See The Three Database Clustering Users for a longer version of the above
Category:Replication
Cn chengdu 11

=2011年11月26日Postgresql成都用户交流会=
#时 间:2011年11月26日 周六 1:30-5:30
#地 点: 武侯区十二北街江水居茶楼
#费 用: AA 
#报名方式: 284466130@qq.com(邮件内容注明 姓名、公司、联系方式、人数)
#联 系 人: 虚构 QQ：284466130
#备 注： 活动不提供发票
#主 题: 成都及附近地区PostgreSQL用户互相认识交流的聚会, 彼此交流各自PG的使用情况, 促进PostgreSQL技术社区在中国地区的发展
#活动流程:
时间 	编号 	主题 	演讲人 	演讲资料下载
2:00 -2:20	1 	签到 	无 	
2:20 -3:00	2 	自我介绍，互相交流 	大家 	无
3:00 -4:00	3 	postgresql performance 	Tony 	
4:00 -5:00	5 	postgresql 内核结构及导读(视频远程) 	galy 	
 	 	聚餐活动 	全体 	
* 虚构
从事gis开发，正在使用PostgreGIS，现居成都
* galy
PostgreSQL 2011中国用户会全国大会召集人，中国用户会发起人，现居广州。 
* Tony
Tony has more than 14 years in IT field, familiar with PostgreSQL, Oracle, Oracle RAC, know storage(disk array) and file system internal, have many project experiences on large scale application, familiar with J2EE arch. He had done many role, application, programer, system programer,tester , infrastructure architecture, dba, database post sale/support, consultant, also have involved many large scale project, such as TDC, TC, CR, PAIMG, which involved in finance, banking, telecom, insurance, government indusy.
Category:Chinese