├── .github
└── workflows
│ ├── main.yml
│ └── spellcheck.yml
├── .gitignore
├── .python-version
├── .vscode
└── settings.json
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── _resource
├── .icons
│ ├── edit_page.png
│ ├── file-document-edit-outline.svg
│ └── percona
│ │ ├── logo-postgresql.svg
│ │ └── logo.svg
├── overrides
│ ├── 404.html
│ ├── main.html
│ └── partials
│ │ ├── banner.html
│ │ ├── copyright.html
│ │ └── header.html
├── templates
│ └── styles.scss
└── theme
│ └── main.html
├── _resourcepdf
└── overrides
│ ├── 404.html
│ ├── main.html
│ └── partials
│ ├── banner.html
│ ├── copyright.html
│ └── header.html
├── docs
├── _images
│ ├── PPG_links.png
│ ├── Percona_Logo_Color.png
│ ├── diagrams
│ │ ├── DR-architecture.png
│ │ ├── Spatial-data-arch.png
│ │ ├── ha-architecture-patroni.png
│ │ └── patroni-architecture.png
│ ├── postgresql-fav.svg
│ ├── postgresql-mark.svg
│ └── postgresql.png
├── apt.md
├── connect.md
├── contrib.md
├── crud.md
├── css
│ ├── design.css
│ ├── extra.css
│ ├── landing.css
│ ├── osano.css
│ ├── percona.css
│ ├── postgresql.css
│ └── toctree.css
├── docker.md
├── enable-extensions.md
├── extensions.md
├── fonts
│ ├── Poppins-Italic.ttf
│ ├── Poppins-Light.ttf
│ ├── Poppins-LightItalic.ttf
│ ├── Poppins-Medium.ttf
│ ├── Poppins-MediumItalic.ttf
│ ├── Poppins-Regular.ttf
│ ├── Poppins-SemiBold.ttf
│ └── Poppins-SemiBoldItalic.ttf
├── get-help.md
├── index.md
├── installing.md
├── js
│ ├── consent.js
│ ├── promptremover.js
│ └── version-select.js
├── ldap.md
├── licensing.md
├── major-upgrade.md
├── migration.md
├── minor-upgrade.md
├── percona-ext.md
├── postgresql-server.md
├── release-notes-v17.0.md
├── release-notes-v17.2.md
├── release-notes-v17.4.md
├── release-notes-v17.5.md
├── release-notes.md
├── repo-overview.md
├── solutions.md
├── solutions
│ ├── backup-recovery.md
│ ├── dr-pgbackrest-setup.md
│ ├── ha-setup-apt.md
│ ├── ha-setup-yum.md
│ ├── ha-test.md
│ ├── high-availability.md
│ ├── pgbackrest.md
│ ├── postgis-deploy.md
│ ├── postgis-testing.md
│ ├── postgis-upgrade.md
│ └── postgis.md
├── tarball.md
├── telemetry.md
├── templates
│ └── pdf_cover_page.tpl
├── third-party.md
├── trademark-policy.md
├── troubleshooting.md
├── uninstalling.md
├── whats-next.md
└── yum.md
├── mkdocs-base.yml
├── mkdocs-pdf.yml
├── mkdocs.yml
├── requirements.txt
├── runtime.txt
├── snippets
├── check-etcd.md
├── percona-release-apt.md
├── percona-release-yum.md
├── release-notes-intro.md
└── supported-versions.md
└── variables.yml
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: Build Percona Distribution PostgreSQL 17 docs
2 | on:
3 | push:
4 | branches:
5 | - 17
6 |
7 | jobs:
8 | build:
9 | name: Deploy docs
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | #Pull the latest changes
14 | - name: Chekout code
15 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16 | with:
17 | fetch-depth: 0
18 | #Prepare the env
19 | - name: Set up Python
20 | uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
21 | with:
22 | python-version: '3.x'
23 |
24 | #Configure git
25 | - name: Configure git
26 | env:
27 | ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
28 | run: |
29 | git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com"
30 | git config user.name "GitHub Action"
31 | git config user.email "github-action@users.noreply.github.com"
32 | git config user.password "${ROBOT_TOKEN}"
33 | echo "GIT_USER=percona-platform-robot:${ROBOT_TOKEN}" >> $GITHUB_ENV
34 |
35 | #Set up MkDocs
36 | - name: Install MkDocs
37 | run: |
38 | python -m pip install --upgrade pip
39 | pip install wheel
40 | if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
41 |
42 | # Deploy docs
43 | - name: Deploy docs
44 | run: |
45 | mike deploy 17 -b publish -p
46 | mike set-default 17 -b publish -p
47 | mike retitle 17 "17 (LATEST)" -b publish -p
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/.github/workflows/spellcheck.yml:
--------------------------------------------------------------------------------
1 | name: Check spelling in Percona Distribution PostgreSQL 17 docs
2 | on:
3 | pull_request:
4 | branches:
5 | - 17
6 |
7 | jobs:
8 | build:
9 | name: Check spelling
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | #Pull the latest changes
14 | - name: Chekout code
15 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16 | with:
17 | fetch-depth: 0
18 | #Prepare the env
19 | - name: Set up Python
20 | uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
21 | with:
22 | python-version: '3.x'
23 |
24 | #Configure git
25 | - name: Configure git
26 | env:
27 | ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
28 | run: |
29 | git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com"
30 | git config user.name "GitHub Action"
31 | git config user.email "github-action@users.noreply.github.com"
32 | git config user.password "${ROBOT_TOKEN}"
33 | echo "GIT_USER=percona-platform-robot:${ROBOT_TOKEN}" >> $GITHUB_ENV
34 |
35 | - name: Install Node.js 14.x
36 | uses: percona-platform/setup-node@v2
37 | with:
38 | node-version: "14"
39 |
40 | - name: Spelling
41 | run: |
42 | npx markdown-spellcheck --report --en-us --ignore-acronyms --ignore-numbers "docs/**/*.md" || true
43 | # Ignore errors, just inspect results
44 |
45 | - name: Grammar
46 | run: |
47 | npx write-good --no-passive docs/**/*.md || true
48 | # Ignore errors, just inspect results
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | build/
3 | source/ext/psdom.pyc
4 | source/ext/__pycache__/
5 | source/percona-theme/
6 | source/__pycache__/
7 | # Local Netlify folder
8 | .netlify
9 | site/
10 | **/.DS_Store
11 |
12 |
--------------------------------------------------------------------------------
/.python-version:
--------------------------------------------------------------------------------
1 | 3.11.1
2 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "cSpell.words": [
3 | "Quickstart"
4 | ]
5 | }
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing Guide
2 |
3 | Thank you for deciding to contribute and help us improve Percona Distribution for PostgreSQL documentation!
4 |
5 | We welcome contributors from all users and community. By contributing, you agree to the [Percona Community code of conduct](https://github.com/percona/community/blob/main/content/contribute/coc.md).
6 |
7 | You can contribute to documentation in the following ways:
8 |
9 | 1. **Request a doc change through a Jira issue**. If you’ve spotted a doc issue (a typo, broken links, inaccurate instructions, etc.) but don’t have time nor desire to fix it yourself - let us know about it.
10 |
11 | - Click the **Submit DOC bug** link on the sidebar. This opens the [Jira issue tracker](https://jira.percona.com/projects/PG/issues) for the doc project.
12 | - Sign in (create a Jira account if you don’t have one) and click **Create** to create an issue.
13 | - Describe the issue you have detected in the Summary, Description, Steps To Reproduce, Affects Version fields.
14 |
15 | 2. **[Contribute to documentation yourself](#contribute-to-documentation-yourself)**. Click the **Edit this page** icon that leads you to the source file of the page on GitHub. There you make changes, create a pull request that we review and add to the doc project. For details how to do it, read on.
16 |
17 |
18 | ## Contribute to documentation yourself
19 |
20 | To contribute to the documentation, you should be familiar with the following technologies:
21 | - [Markdown](https://www.markdownguide.org/basic-syntax/) markup language. It is used to write the documentation.
22 | - [MkDocs](https://www.mkdocs.org/getting-started/) documentation generator. We use it to convert source ``.md`` files to html and PDF documents.
23 | - [git](https://git-scm.com/) and [GitHub](https://guides.github.com/activities/hello-world/)
24 | - [Docker](https://docs.docker.com/get-docker/). It allows you to run MkDocs in a virtual environment instead of installing it and its dependencies on your machine.
25 |
26 | There are several active versions of the documentation. Each version derives from the major version of PostgreSQL, included in the distribution.
27 |
28 | Each version has a branch in the repository named accordingly:
29 |
30 | - 11 (EOL)
31 | - 12 (EOL)
32 | - 13
33 | - 14
34 | - 15
35 | - 16
36 | - 17
37 |
38 | The source .md files are in the ``docs`` directory.
39 |
40 | ### Edit documentation online via GitHub
41 |
42 | 1. Click the **Edit this page** icon next to the page title. The Markdown file of the page opens in GitHub editor in your browser. If you haven’t worked with the repository before, GitHub creates a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of it for you.
43 |
44 | 2. Edit the page. You can check your changes on the **Preview** tab.
45 |
46 | 3. Commit your changes.
47 |
48 | - In the *Commit changes* section, describe your changes.
49 | - Select the **Create a new branch for this commit and start a pull request** option
50 | - Click **Propose changes**.
51 |
52 | 4. GitHub creates a branch and a commit for your changes. It loads a new page on which you can open a pull request to Percona. The page shows the base branch - the one you offer your changes for, your commit message and a diff - a visual representation of your changes against the original page. This allows you to make a last-minute review. When you are ready, click the **Create pull request** button.
53 | 5. Someone from our team reviews the pull request and if everything is correct, merges it into the documentation. Then it gets published on the site.
54 |
55 | ### Edit documentation locally
56 |
57 | This option is for users who prefer to work from their computer and / or have the full control over the documentation process.
58 |
59 | The steps are the following:
60 |
61 | 1. Fork this repository
62 | 2. Clone the repository on your machine:
63 |
64 | ```sh
65 | git clone git@github.com:percona/postgresql-docs.git
66 | ```
67 |
68 | 3. Change the directory to ``postgresql-docs`` and add your local repository:
69 |
70 | ```sh
71 | git remote add git@github.com:/postgresql-docs.git
72 | ```
73 |
74 | 4. Pull the latest changes
75 |
76 | ```sh
77 | git fetch origin
78 | git merge origin/
79 | ```
80 |
81 | Make sure that your local branch and the branch you merge changes from are the same. So if you are on the ``17`` branch, merge changes from ``origin/17``.
82 |
83 | 5. Create a separate branch for your changes
84 |
85 | ```sh
86 | git checkout -b
87 | ```
88 |
89 | 6. Make changes
90 | 7. Commit your changes
91 | 8. Open a pull request to Percona
92 |
93 | ### Building the documentation
94 |
95 | To verify how your changes look, generate the static site with the documentation. This process is called *building*. You can do it in these ways:
96 | - [use Docker](#use-docker)
97 | - [install MkDocs and build locally](#install-mkdocs-and-build-locally)
98 |
99 | Learn more about the documentation structure in the [Repository structure](#repository-stucture) section.
100 |
101 |
102 | #### Use Docker
103 |
104 | 1. [Get Docker](https://docs.docker.com/get-docker/)
105 | 2. We use [this Docker image](https://github.com/Percona-Lab/percona-doc-docker) to build documentation. Run the following command:
106 |
107 | ```sh
108 | docker run --rm -v $(pwd):/docs perconalab/pmm-doc-md mkdocs build
109 | ```
110 | If Docker can't find the image locally, it first downloads the image, and then runs it to build the documentation.
111 |
112 | 3. Go to the ``site`` directory and open the ``index.html`` file to see the documentation.
113 | 4. To view your changes as you make them, run the following command:
114 |
115 | ``` sh
116 | docker run --rm -p 8000:8000 -v $(pwd):/docs perconalab/pmm-doc-md mkdocs serve -a 0.0.0.0:8000
117 | ```
118 |
119 | 5. To create a PDF version of the documentation, run the following command:
120 |
121 | ```sh
122 | docker run --rm -v $(pwd):/docs -e ENABLE_PDF_EXPORT=1 perconalab/pmm-doc-md mkdocs build -f mkdocs-pdf.yml
123 | ```
124 |
125 | The PDF document is in the ``site/pdf`` folder.
126 |
127 | #### Install MkDocs and build locally
128 |
129 | 1. Install [pip](https://pip.pypa.io/en/stable/installing/)
130 | 2. Install [MkDocs](https://www.mkdocs.org/getting-started/#installation).
131 | 3. Install all the required dependencies:
132 |
133 | ```
134 | pip install -r requirements.txt
135 | ```
136 |
137 | 3. While in the root directory of the doc project, run the following command to build the documentation:
138 |
139 | ```sh
140 | mkdocs build
141 | ```
142 | 4. Go to the ``site`` directory and open the ``index.html`` file in your web browser to see the documentation.
143 | 5. To automatically rebuild the documentation and reload the browser as you make changes, run the following command:
144 |
145 | ```sh
146 | mkdocs serve
147 | ```
148 |
149 | 6. To build the PDF documentation, do the following:
150 | - Install [mkdocs-print-site-plugin](https://timvink.github.io/mkdocs-print-site-plugin/index.html)
151 | - Run the following command
152 |
153 | ```sh
154 | mkdocs build
155 | ```
156 |
157 | This creates a single HTML page for the whole doc project. You can find the page at `site/print_page.html`.
158 |
159 | 7. Open the `site/print_page.html` in your browser and save as PDF. Depending on the browser, you may need to select the Export to PDF, Print - Save as PDF or just Save and select PDF as the output format.
160 |
161 | ## Repository structure
162 |
163 | The repository includes the following directories and files:
164 |
165 | - `mkdocs-base.yml` - the base configuration file. It includes general settings and documentation structure.
166 | - `mkdocs.yml` - configuration file. Contains the settings for building the docs on Percona website
167 | - `mkdocs-pdf.yml` - configuration file. Contains the settings for building the PDF docs.
168 | - `docs`:
169 | - `*.md` - Source markdown files.
170 | - `_images` - Images, logos and favicons
171 | - `css` - Styles
172 | - `js` - Javascript files
173 | - `templates`:
174 | - `pdf_cover_page.tpl` - The PDF cover page template
175 | - `_resourcepdf`:
176 | - `overrides` - The directory with customized layout templates for PDF
177 | - `.github`:
178 | - `workflows`:
179 | - `main.yml` - The workflow configuration for building documentation with a GitHub action. (The documentation is built with `mike` tool to a dedicated `publish` branch)
180 | - `snippets` - The folder with pieces of documentation used in multiple places
181 | - `site` - This is where the output HTML files are put after the build
182 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Portions Copyright (c) 2021 Percona LLC and/or its affiliates
2 |
3 | Portions Copyright (c) 1996-2021, The PostgreSQL Global Development Group
4 |
5 | This work is licensed under [the PostgreSQL License]
6 | (http://www.postgresql.org/about/licence/)
7 |
8 | Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
9 |
10 | IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11 |
12 | THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Percona Distribution for PostgreSQL documentation.
2 |
3 | Welcome to Percona Distribution for PostgreSQL documentation!
4 |
5 | ## Overview
6 |
7 | Percona Distribution for PostgreSQL is a collection of tools to assist you in managing your PostgreSQL database system. It includes Percona Server for PostgreSQL and a selection of extensions that enable solving essential practical tasks efficiently.
8 |
9 | Percona Server for PostgreSQL is an open source binary-compatible drop-in replacement for PostgreSQL Community. Percona Server for PostgreSQL introduces additional features to the upstream server, including:
10 |
11 | * Storage Manager (SMGR) API Exposure: Allows PostgreSQL extensions to integrate custom storage managers. This change was inspired by the [patchset](https://www.postgresql.org/message-id/flat/CAJ7c6TOqqrzjYsU6LgDkcJ0yVgzdkx2juJjgAjzP2jPOpZ1qUA%40mail.gmail.com#8e68cfc57fcac14c8e24b00b41e61baf) introduced to the community.
12 | * WAL Read/Write API Exposure to hook into WAL read and write functions.
13 |
14 | Percona Server and upstream PostgreSQL function identically enabling you to migrate from one to another.
15 |
16 | This repository contains the source files for [Percona Distribution for PostgreSQL documentation](https://www.percona.com/doc/postgresql/17/index.html). The documentation is written in [Markdown](https://www.markdownguide.org/) markup language and is created using [MkDocs Documentation Generator](https://www.mkdocs.org/).
17 |
18 | ## Contributing
19 |
20 | We welcome all contributions and are always looking for new members that are as dedicated to serving the community as we are. You can reach out to us using our [forums ](https://forums.percona.com/c/postgresql/25) and [Jira issue tracker ](https://jira.percona.com/projects/DISTPG/issues/DISTPG-16?filter=allopenissues).
21 |
22 | For how to contribute to documentation, read the [Contributing guide ](https://github.com/percona/postgresql-docs/blob/17/CONTRIBUTING.md).
23 |
24 | ## License
25 |
26 | Percona Distribution for PostgreSQL documentation is licensed under the [PostgreSQL license ](https://opensource.org/licenses/postgresql).
--------------------------------------------------------------------------------
/_resource/.icons/edit_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/percona/postgresql-docs/25dd48fe07fa20c7b6b49cb457b1fd90f795f457/_resource/.icons/edit_page.png
--------------------------------------------------------------------------------
/_resource/.icons/file-document-edit-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_resource/.icons/percona/logo-postgresql.svg:
--------------------------------------------------------------------------------
1 |
2 |
37 |
--------------------------------------------------------------------------------
/_resource/.icons/percona/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_resource/overrides/404.html:
--------------------------------------------------------------------------------
1 | {#-
2 | This file was automatically generated - do not edit
3 | -#}
4 | {% extends "main.html" %}
5 | {% block content %}
6 |
404 - Not found
7 |
8 | We can't find the page you are looking for. Try using the Search or return to homepage .
9 | {% endblock %}
10 |
--------------------------------------------------------------------------------
/_resource/overrides/main.html:
--------------------------------------------------------------------------------
1 | {#
2 | MkDocs template for builds with Material theme to customize docs layout
3 | by adding marketing-requested elements
4 | #}
5 |
6 | {# Import the theme's layout. #}
7 | {% extends "base.html" %}
8 |
9 |
10 | {% block scripts %}
11 |
12 | {{ super() }}
13 | {% endblock %}
14 |
15 | {% block extrahead %}
16 | {{ super() }}
17 | {% set title = config.site_name %}
18 | {% if page and page.meta and page.meta.title %}
19 | {% set title = title ~ " - " ~ page.meta.title %}
20 | {% elif page and page.title and not page.is_homepage %}
21 | {% set title = title ~ " - " ~ page.title %}
22 | {% endif %}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |