Skip to content

Commit

Permalink
README with official formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
derkv committed Sep 22, 2023
1 parent eeebfe6 commit bcbf528
Showing 1 changed file with 41 additions and 23 deletions.
64 changes: 41 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,43 @@
# adyen-postgres-partitioning
These functions are designed to create and maintain partitions in PostgreSQL with a minimal impact on the applicaton. The priority is to not impact the application. When multiple options are available the weakest lock possible is being used, when a heavy lock is required we use a timeout to prevent long lasting locks.
These functions are designed to create and maintain partitions in PostgreSQL with a minimal impact on the applicaton. The priority is to not impact the application. When multiple options are available the weakest lock possible is being used, when a heavy lock is required we use a timeout to prevent long lasting locks.

Every function in this project starts with a detailed comment on what function does and how to use it.
Every function in this project starts with a detailed comment on what the function does and how to use it.

# Features
## Contributing
We strongly encourage you to contribute to our repository. Find out more in our [contribution guidelines](https://github.com/Adyen/.github/blob/master/CONTRIBUTING.md)

## Requirements
All function have been tested on postgres 13.

## Installation
All function will be installed in the DBA schema. If you don't have this schema yet, create it by running sql/schema/schema.sql.

You can add the individual functions directly on the database from `psql` with the `\i` command. Use `psql` to login on your database and run
```sql
\i <full path to the function>.<filename>.sql
```
N.B. Some functions use other functions and the script `partition_maintenance.sql` requires a set of tables to be created.

### Install all functions
To create all the functions and the tables required to configure maintenance apply the following scripts in order from the root directory of the project
sql/schema/schema.sql
sql/tables/tables.sql
sql/functions/create_all_functions.sql

### Test functions
To test all functions run the following scripts from the project root folder
test/tables.sql
test/run_functions.sql
test/configuration.sql
test/cleanup.sql

## Usage
The functions can be called as any other postgres function
```sql
select dba.<function_name>(arg1, arg2, ..., argN);
```

## Documentation
The functions in this project can

- Partition an existing table. The origional table will not partitioned itself, but becomes the first partition
Expand All @@ -28,24 +62,8 @@ The scripts performs the following tasks based on the configuration in the table

See the documentation within sql/tables/tables.sql for the configuration details.

# Installation
All function will be installed in the DBA schema. If you don't have this schema yet, create it by running sql/schema/schema.sql.

You can add the individual functions directly on the database from `psql` with the `\i` command. Use `psql` to login on your database and run
```sql
\i <full path to the function>.<filename>.sql
```
N.B. Some functions use other functions and the script `partition_maintenance.sql` requires a set of tables to be created.
## Support
If you have a feature request, or spotted a bug or a technical problem, create a GitHub issue.

## Install all functions
To create all the functions and the tables required to configure maintenance apply the following scripts in order from the root directory of the project
sql/schema/schema.sql
sql/tables/tables.sql
sql/functions/create_all_functions.sql

## Test functions
To test all functions run the following scripts from the project root folder
test/tables.sql
test/run_functions.sql
test/configuration.sql
test/cleanup.sql
## License
MIT license. For more information, see the LICENSE file.

0 comments on commit bcbf528

Please sign in to comment.