https://github.com/funbringer/pgconf_ru_2018_partitioning
https://github.com/funbringer/pgconf_ru_2018_partitioning
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/funbringer/pgconf_ru_2018_partitioning
- Owner: funbringer
- License: mit
- Created: 2018-01-30T10:13:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-02-06T11:33:45.000Z (over 8 years ago)
- Last Synced: 2025-02-10T05:42:02.826Z (over 1 year ago)
- Language: Shell
- Size: 48.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Benchmarks
### Latency degradation under the large number of partitions
1. Partitioning via inheritance
```bash
benches/wide_partitioned/shell/inh.sh
```
Before running you have to setup the environment variables:
- PSQL - path to psql client to postgres, default "/usr/local/bin/psql"
- DBNAME - name of database to connect, default "postgres"
- START\_NUM_PARTS - initial number of partitions before running benchmark, default 10
- MAX\_NUM_PARTS - maximum number of partitions in benchmark, default 100
- INTERVAL - difference in number of partitions between runnings of benchmark, default 10
- PREWARM_RUNS - numbers of test runnings to prewarm session cache, default 5
- BENCH_RUNS - number of benchmark runnings, default 5
This script prints to stdout the number of partitions and multiple (BENCH_RUNS) measurements of latency (in ms) of query that selects two partitions and main parent table based on condition in query.
2. Partitioning via pg_pathman
```bash
benches/wide_partitioned/shell/pathman.sh
```
Environment variables are the same as before.