Skip to content

Commit 47d9e6d

Browse files
committed
update readme
1 parent f7cc55e commit 47d9e6d

File tree

2 files changed

+101
-19
lines changed

2 files changed

+101
-19
lines changed

README.md

Lines changed: 101 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ Battery-Included, Local-First **PostgreSQL** Distribution as a Free & Better **R
1313
1414
[Website](https://pigsty.io/) | [Org](https://github.com/pgsty) | [Docs](https://pigsty.io/docs/) | [Extensions](https://pigsty.io/ext/) | [Values](https://pigsty.io/about/values) | [Demo](https://demo.pigsty.cc) | [Blog](https://pigsty.io/blog) | [Discuss](https://github.com/orgs/pgsty/discussions) | [Support](https://pigsty.io/price) | [中文站点](https://pigsty.cc) | [博客](https://pigsty.cc/blog)
1515

16-
[**Get Started**](https://pigsty.io/docs/setup/install/) with the latest [**v3.4.1**](https://github.com/pgsty/pigsty/releases/tag/v3.4.1): `curl -fsSL https://repo.pigsty.io/get`
16+
[**Get Started**](https://pigsty.io/docs/setup/install/) with the latest [**v3.4.1**](https://github.com/pgsty/pigsty/releases/tag/v3.4.1): `curl -fsSL https://repo.pigsty.io/get | bash -s v3.4.1`
1717

1818
[![pigsty-desc](https://pigsty.io/img/pigsty/banner.en.jpg)](https://pigsty.io/about/values)
1919

20+
> Self-Hosting PostgreSQL RDS like a Pro!
2021
2122
--------
2223

2324
## Features
2425

25-
- [**Extensible**](https://pigsty.io/about/extensibility/): **405** [**PG Extensions**](https://pigsty.io/ext/list) & **8** [**PG Kernel**](https://pigsty.io/docs/kernel) available (e.g. [**MSSQL**](https://pigsty.io/docs/kernel/babelfish/), [**Oracle**](https://pigsty.io/docs/kernel/ivorysql/), [**MYSQL**](https://pigsty.io/docs/kernel/openhalo/)...
26+
- [**Extensible**](https://pigsty.io/about/extensibility/): **405** [**PG Extensions**](https://pigsty.io/ext/list) & **8** [**PG Kernel**](https://pigsty.io/docs/kernel) available, with [**MsSQL**](https://pigsty.io/docs/kernel/babelfish/), [**Oracle**](https://pigsty.io/docs/kernel/ivorysql/), [**MySQL**](https://pigsty.io/docs/kernel/openhalo/), [**Mongo**](https://pigsty.io/docs/ferret) compatibility
2627
- [**Reliable**](https://pigsty.io/about/reliability/): Self-healing [**HA**](https://pigsty.io/docs/concept/ha/) clusters with pre-configured [**PITR**](https://pigsty.io/docs/pgsql/arch#point-in-time-recovery) and built-in [**ACL**](https://pigsty.io/docs/pgsql/acl), [**CA & SSL**](https://pigsty.io/docs/reference/param/#ca) secure best practice.
2728
- [**Observable**](https://pigsty.io/about/observability/): SOTA monitoring for [**PG**](https://demo.pigsty.cc/d/pgrds-instance/pgrds-instance) / [**Infra**](https://pigsty.io/docs/infra) / [**Node**](https://pigsty.io/docs/node) based on **Prometheus** & **Grafana** stack: [**Demo**](https://demo.pigsty.cc) & [**Gallery**](https://github.com/pgsty/pigsty/wiki/Gallery).
2829
- [**Scalable**](https://pigsty.io/about/scalability/): Auto-routed & pooled customizable database [**Services**](https://pigsty.io/docs/concept/svc#default-service) [**Access**](https://pigsty.io/docs/concept/svc#access-service) with **haproxy**, **pgbouncer**, and **VIP**.
@@ -317,7 +318,7 @@ The cluster keeps serving as long as **ANY** instance survives, with excellent f
317318
## Customization
318319

319320
Pigsty is highly customizable, You can describe the entire database and infra deployment with **300+** [**parameters**](https://pigsty.io/docs/reference/param/) in a single config file and materialize them with one command.
320-
There are many built-in configuration [templates](https://pigsty.io/docs/conf) that can be used directly.
321+
There are many built-in configuration [templates](https://pigsty.io/docs/conf).
321322

322323
<details><summary>Example: Sandbox (4-node) with two PG cluster</summary><br>
323324

@@ -428,14 +429,16 @@ pg-meta-delay: # delayed instance for pg-meta (1 hour ago)
428429
429430
</details>
430431
431-
You can deploy different kinds of PostgreSQL instance such as primary, replica, offline, delayed, sync standby, etc.,
432-
and customize with scene-optimize [**templates**](https://github.com/pgsty/pigsty/tree/dev/conf), pre-defined [**stacks**](https://pigsty.io/docs/pgext/usage/stack) and all **405** [**extensions**](https://pigsty.io/ext/list).
433432
434-
You can define [**Users**](https://pigsty.io/docs/pgsql/user/), [**Databases**](https://pigsty.io/docs/pgsql/db/), [**Service**](https://pigsty.io/docs/pgsql/svc/), [**HBAs**](https://pigsty.io/docs/pgsql/hba/) and other entities in code and provision them in one pass.
435-
You can even replace the vanilla [**`PostgreSQL`**](https://pigsty.io/docs/pgsql) [**Kernel**](https://pigsty.io/docs/kernel/) with other forks as an in-place replacement: [**`Babelfish`**](https://pigsty.io/docs/kernel/babelfish/) for MSSQL compatibility,
436-
[**`IvorySQL`**](https://pigsty.io/docs/kernel/ivorysql) and [**`PolarDB`**](https://pigsty.io/docs/kernel/polardb/) for ORACLE compatibility, [**OpenHalo**](https://pigsty.io/docs/kernel/openhalo/) for MySQL compatibility, [**OrioleDB**](https://pigsty.io/docs/kernel/orioledb/) for extreme OLTP performance, and so on...
433+
--------
434+
435+
You can deploy different kinds of PostgreSQL instance such as [`primary`](https://pigsty.io/docs/pgsql/config/#primary), [`replica`](https://pigsty.io/docs/pgsql/config/#replica), [`offline`](https://pigsty.io/docs/pgsql/config/#offline), [`delayed`](https://pigsty.io/docs/pgsql/config/#delayed-cluster), [`sync standby`](https://pigsty.io/docs/pgsql/config/#sync-standby), etc.,
436+
and customize with scene-optimize [**config templates**](https://pigsty.io/docs/conf/) and all **405** [**extensions**](https://pigsty.io/ext/list) out-of-the-box.
437+
438+
You can define [**Users**](https://pigsty.io/docs/pgsql/user/), [**Databases**](https://pigsty.io/docs/pgsql/db/), [**Service**](https://pigsty.io/docs/pgsql/svc/), [**HBAs**](https://pigsty.io/docs/pgsql/hba/) and other entities with code and provision them in one pass.
439+
You can even replace the vanilla [**`PostgreSQL`**](https://pigsty.io/docs/pgsql) [**Kernel**](https://pigsty.io/docs/kernel/) with exotic forks as an in-place replacement:
437440

438-
<details><summary>Example: Babelfish Cluster (MSSQL Compatible)</summary><br>
441+
<details><summary>Exotic Kernel: Babelfish (MsSQL Wire Compatible)</summary><br>
439442

440443
The [`conf/mssql.yml`](https://github.com/pgsty/pigsty/blob/main/conf/mssql.yml) Provision a [Babelfish](https://pigsty.io/docs/kernel/babelfish/) cluster with Microsoft SQL Server compatibility:
441444

@@ -501,7 +504,7 @@ pg-mssql:
501504
502505
</details>
503506
504-
<details><summary>Example: IvorySQL Cluster (Oracle Compatible)</summary><br>
507+
<details><summary>Exotic Kernel: IvorySQL (Oracle Grammar Compatible)</summary><br>
505508
506509
The [`conf/ivory.yml`](https://github.com/pgsty/pigsty/blob/main/conf/mssql.yml) define an [IvorySQL](https://pigsty.io/docs/kernel/ivorysql/) cluster, which aims to be Oracle compatible:
507510

@@ -526,11 +529,75 @@ pg-ivory:
526529
</details>
527530

528531

529-
You can also wrap existing kernel with add-ons: horizontal sharding with [**`CITUS`**](https://pigsty.io/docs/kernel/citus/),
530-
or self-hosting firebase alternative [**`SUPABASE`**](https://pigsty.io/docs/app/supabase/),
531-
or run enterprise-grade software like [**Odoo**](https://pigsty.io/docs/app/odoo) & [**Dify**](https://pigsty.io/docs/app/dify), ...
532+
<details><summary>Exotic Kernel: OpenHalo (MySQL Wire Compatible)</summary><br>
533+
534+
The [`conf/mysql.yml`](https://github.com/pgsty/pigsty/blob/main/conf/mysql.yml) Provision a [openHalo](https://pigsty.io/docs/kernel/openhalo/) cluster with MySQL compatibility:
535+
536+
```yaml
537+
pg-mysql:
538+
hosts:
539+
10.10.10.11: { pg_seq: 1 ,pg_role: primary }
540+
10.10.10.12: { pg_seq: 2 ,pg_role: replica }
541+
10.10.10.13: { pg_seq: 3 ,pg_role: replica }
542+
vars:
543+
pg_cluster: pg-mysql
544+
pg_mode: mysql
545+
pg_version: 14
546+
pg_databases: [{name: postgres, extensions: [aux_mysql]}]
547+
repo_extra_packages: [ openhalodb ]
548+
pg_packages: [ openhalodb, pgsql-common ]
549+
```
550+
551+
</details>
552+
553+
554+
<details><summary>Exotic Kernel: OrioleDB (Extreme OLTP Performance)</summary><br>
555+
556+
The [`conf/oriole.yml`](https://github.com/pgsty/pigsty/blob/main/conf/oriole.yml) Provision a [OrioleDB](https://pigsty.io/docs/kernel/oriole/) cluster with another storage engine:
557+
558+
```yaml
559+
pg-oriole:
560+
hosts:
561+
10.10.10.11: { pg_seq: 1 ,pg_role: primary }
562+
10.10.10.12: { pg_seq: 2 ,pg_role: replica }
563+
10.10.10.13: { pg_seq: 3 ,pg_role: replica }
564+
vars:
565+
pg_cluster: pg-oriole
566+
pg_mode: oriole
567+
pg_version: 17
568+
pg_databases: [{name: meta, extensions: [orioledb]}]
569+
pg_packages: [ orioledb, pgsql-common ]
570+
repo_extra_packages: [ orioledb ]
571+
pg_libs: 'orioledb, pg_stat_statements, auto_explain'
572+
```
573+
574+
</details>
575+
576+
577+
<details><summary>Exotic Kernel: PolarDB (Aurora RAC)</summary><br>
578+
579+
The [`conf/polar.yml`](https://github.com/pgsty/pigsty/blob/main/conf/polar.yml) Provision a [PolarDB](https://pigsty.io/docs/kernel/polardb/) cluster with RAC style kernel:
532580

533-
<details><summary>Example: Citus Distributed Cluster: 10-Node</summary><br>
581+
```yaml
582+
pg-polar:
583+
hosts:
584+
10.10.10.11: { pg_seq: 1 ,pg_role: primary }
585+
10.10.10.12: { pg_seq: 2 ,pg_role: replica }
586+
10.10.10.13: { pg_seq: 3 ,pg_role: replica }
587+
vars:
588+
pg_cluster: pg-polar
589+
pg_mode: polar
590+
pg_version: 15
591+
pg_packages: [ polardb, pgsql-common ]
592+
repo_extra_packages: [ polardb ]
593+
pg_exporter_exclude_database: 'template0,template1,postgres,polardb_admin'
594+
```
595+
596+
</details>
597+
598+
<details><summary>Extension: Citus (Distributive Sharding)</summary><br>
599+
600+
You can perform horizontal sharding on vanilla postgres with [**`CITUS`**](https://pigsty.io/docs/kernel/citus/).
534601

535602
The [`conf/simu.yml`](https://github.com/pgsty/pigsty/blob/main/conf/simu.yml) provision a 10-node [**Citus**](https://pigsty.io/docs/kernel/citus/) cluster as below:
536603

@@ -569,10 +636,27 @@ pg-citus: # citus group
569636

570637
</details>
571638

572-
<details><summary>Example: PostgreSQL for Self-hosting Supabase</summary><br>
639+
640+
641+
642+
--------
643+
644+
You can also self-host postgres-centric software like [**`SUPABASE`**](https://pigsty.io/docs/app/supabase/), [**`Odoo`**](https://pigsty.io/docs/app/odoo) & [**`Dify`**](https://pigsty.io/docs/app/dify), Electric, GitLab,...
645+
with Pigsty, it will take care nginx, https, certs, database for you!
646+
647+
648+
649+
<details><summary>Example: Self-hosting Supabase</summary><br>
573650

574651
You can launch a [self-hosting supabase](https://pigsty.io/docs/app/supabase/) with MinIO and PostgreSQL with just several commands:
575652

653+
```bash
654+
./configure -c app/supa # use supabase config
655+
./install.yml # install pigsty
656+
./docker.yml # install docker compose
657+
./app.yml # launch supabase stateless part with docker
658+
```
659+
576660
The [`conf/app/supa.yml`](https://github.com/pgsty/pigsty/blob/main/conf/app/supa.yml) just describe everything you need:
577661

578662
```yaml
@@ -635,17 +719,16 @@ pg-meta:
635719

636720
</details>
637721

638-
There are other pro, beta, or pilot modules, and there will be more coming in the future:
722+
There are other [**pro**](https://pigsty.io/docs/pro/), beta, or pilot modules, and there will be more coming in the future:
639723

640724
[![BABELFISH](https://img.shields.io/badge/WILTONDB-%2388A3CA?style=flat&logo=postgresql&labelColor=88A3CA&logoColor=black)](https://pigsty.io/docs/kernel/babelfish)
641725
[![POLARDB PG](https://img.shields.io/badge/POLARDB_PG-%23DF6F2E?style=flat&logo=postgresql&labelColor=DF6F2E&logoColor=black)](https://pigsty.io/docs/kernel/polardb)
642726
[![POLARDB ORACLE](https://img.shields.io/badge/POLARDB_ORACLE-%23DF6F2E?style=flat&logo=postgresql&labelColor=DF6F2E&logoColor=black)](https://pigsty.io/docs/kernel/polardb-o)
643727
[![IVORYSQL](https://img.shields.io/badge/IVORYSQL-%23E8AC52?style=flat&logo=postgresql&labelColor=E8AC52&logoColor=black)](https://pigsty.io/docs/kernel/ivorysql)
644728
[![GREENPLUM](https://img.shields.io/badge/GREENPLUM-%23578B09?style=flat&logo=postgresql&labelColor=578B09&logoColor=black)](https://pigsty.io/docs/kernel/greenplum)
645729
[![CLOUDBERRY](https://img.shields.io/badge/CLOUDBERRY-orange?style=flat&logo=postgresql&labelColor=orange&logoColor=black)](https://pigsty.io/docs/kernel/cloudberry)
646-
[![NEON](https://img.shields.io/badge/NEON-%2366D9C6?style=flat&logo=postgresql&labelColor=66D9C6&logoColor=black)](https://pigsty.io/docs/kernel/neon)
730+
[![HALO](https://img.shields.io/badge/HALO-%2366D9C6?style=flat&logo=postgresql&labelColor=66D9C6&logoColor=black)](https://pigsty.io/docs/kernel/openhalo)
647731
[![SUPABASE](https://img.shields.io/badge/SUPABASE-%233FCF8E?style=flat&logo=supabase&labelColor=3FCF8E&logoColor=white)](https://pigsty.io/docs/kernel/supabase)
648-
649732
[![KAFKA](https://img.shields.io/badge/KAFKA-%23231F20?style=flat&logo=apachekafka&labelColor=231F20&logoColor=white)](https://pigsty.io/docs/pro/kafka)
650733
[![MYSQL](https://img.shields.io/badge/MYSQL-%234479A1?style=flat&logo=mysql&labelColor=4479A1&logoColor=white)](https://pigsty.io/docs/pro/kafka)
651734
[![DUCKDB](https://img.shields.io/badge/DUCKDB-%23FFF000?style=flat&logo=duckdb&labelColor=FFF000&logoColor=white)](https://pigsty.io/docs/pro/duckdb)

conf/polar.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ all:
7878
# THIS SPEC REQUIRE AN AVAILABLE POLARDB KERNEL IN THE LOCAL REPO!
7979
pg_version: 15
8080
pg_packages: [ polardb, pgsql-common ]
81-
pg_extensions: [ ] # do not install any vanilla postgresql extensions
8281
pg_mode: polar # polardb compatible mode
8382
pg_exporter_exclude_database: 'template0,template1,postgres,polardb_admin'
8483
pg_default_roles: # default roles and users in postgres cluster

0 commit comments

Comments
 (0)