Skip to content

Commit a46c2b6

Browse files
authored
Updates to README (#306)
These changes add more links to the documentation and make it clearer where to find the documentation to aid in discoverability of features of PL/Rust.
1 parent 528d303 commit a46c2b6

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

README.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
1-
# PL/Rust: A Trusted Procedural Language Handler
1+
[![docs.rs badge](https://docs.rs/plrust-trusted-pgrx/badge.svg)](https://docs.rs/plrust-trusted-pgrx)
22

3-
PL/Rust is a loadable procedural language that enables writing PostgreSQL functions in the Rust programming
4-
language. These functions are compiled to native machine code. Unlike other procedural languages, PL/Rust functions
5-
are not interpreted.
3+
# PL/Rust: A Trusted Procedural Language Handler for Rust
4+
5+
[PL/Rust](https://tcdi.github.io/plrust/spi.html) is a loadable procedural language that enables [writing PostgreSQL functions in the Rust programming language](https://tcdi.github.io/plrust/use-plrust.html). These functions are compiled to native machine code. Unlike other procedural languages, PL/Rust functions are not interpreted.
66

77
The primary advantages of PL/Rust include writing natively-compiled functions to achieve the absolute best performance,
88
access to Rust's large development ecosystem, and Rust's compile-time safety guarantees.
99

10-
PL/Rust provides access to Postgres' Server Programming Interface (SPI) including dynamic queries, prepared
11-
statements, and cursors. It also provides safe Rust types over most of Postgres built-in data types, including (but
12-
not limited to), TEXT, INT, BIGINT, NUMERIC, FLOAT, DOUBLE PRECISION, etc.
10+
PL/Rust provides access to Postgres' [Server Programming Interface](https://tcdi.github.io/plrust/spi.html) ([SPI](https://tcdi.github.io/plrust/spi.html)) including dynamic queries, prepared
11+
statements, and cursors. It also provides safe Rust types over most of Postgres built-in [data types](https://tcdi.github.io/plrust/data-types.html), including (but
12+
not limited to), `TEXT`, `INT`/`BIGINT`, `NUMERIC`, `FLOAT`/`DOUBLE PRECISION`, `JSON`/`JSONB`, arrays, and more. You can also use PL/Rust to write [trigger functions](https://tcdi.github.io/plrust/triggers.html).
1313

14-
On x86_64 and aarch64 Linux systems PL/Rust can be a "trusted" procedural language, assuming the proper compilation
15-
requirements are met. On other systems, it is perfectly usable as an "untrusted" language but cannot provide the
16-
same level of safety guarantees.
14+
On x86_64 and aarch64 Linux systems PL/Rust can be a "[trusted](https://tcdi.github.io/plrust/trusted-untrusted.html)" procedural language, assuming the proper compilation requirements are met. On other systems, it is perfectly usable as an "[untrusted](https://tcdi.github.io/plrust/trusted-untrusted.html)" language but cannot provide the same level of safety guarantees.
1715

18-
# Learn More
16+
# Documentation
1917

20-
PL/Rust's documentation, an ongoing project, can be found at https://tcdi.github.io/plrust. Also see the
18+
PL/Rust's [documentation](https://tcdi.github.io/plrust) can be found at https://tcdi.github.io/plrust. Also see the
2119
[`plrust-trusted-pgrx`](https://docs.rs/plrust-trusted-pgrx/latest/plrust_trusted_pgrx/) Rust documentation.
2220

2321
# Install on Debian today!

0 commit comments

Comments
 (0)