mirror of
https://github.com/silverstripe/silverstripe-postgresql
synced 2024-10-22 17:05:45 +02:00
60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
# PostgreSQL Module Module
|
|
|
|
[![CI](https://github.com/silverstripe/silverstripe-postgresql/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-postgresql/actions/workflows/ci.yml)
|
|
[![Silverstripe supported module](https://img.shields.io/badge/silverstripe-supported-0071C4.svg)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)
|
|
|
|
## Requirements
|
|
|
|
* Silverstripe 4.0
|
|
* PostgreSQL >=9.2
|
|
* Note: PostgreSQL 10 has not been tested
|
|
|
|
## Installation
|
|
|
|
```
|
|
composer require silverstripe/postgresql
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Environment file
|
|
|
|
Add the following settings to your `.env` file:
|
|
|
|
```
|
|
SS_DATABASE_CLASS=PostgreSQLDatabase
|
|
SS_DATABASE_USERNAME=
|
|
SS_DATABASE_PASSWORD=
|
|
```
|
|
|
|
See [environment variables](https://docs.silverstripe.org/en/4/getting_started/environment_management) for more details. Note that a database will automatically be created via `dev/build`.
|
|
|
|
### Through the installer
|
|
|
|
Open the installer by browsing to install.php, e.g. http://localhost/install.php
|
|
Select PostgreSQL in the database list and enter your database details
|
|
|
|
## Usage Overview
|
|
|
|
See [docs/en](docs/en/README.md) for more information about configuring the module.
|
|
|
|
## Known issues
|
|
|
|
All column and table names must be double-quoted. PostgreSQL automatically
|
|
lower-cases columns, and your queries will fail if you don't.
|
|
|
|
Collations have known issues when installed on Alpine, MacOS X and BSD derivatives
|
|
(see [PostgreSQL FAQ](https://wiki.postgresql.org/wiki/FAQ#Why_do_my_strings_sort_incorrectly.3F)).
|
|
We do not support such installations, although they still may work correctly for you.
|
|
As a workaround for PostgreSQL 10+ you could manually switch to ICU collations (e.g. und-x-icu).
|
|
There are no known workarounds for PostgreSQL <10.
|
|
|
|
Ts_vector columns are not automatically detected by the built-in search
|
|
filters. That means if you're doing a search through the CMS on a ModelAdmin
|
|
object, it will use LIKE queries which are very slow. If you're writing your
|
|
own front-end search system, you can specify the columns to use for search
|
|
purposes, and you get the full benefits of T-Search.
|
|
|
|
If you are using unsupported modules, there may be instances of MySQL-specific
|
|
SQL queries which will need to be made database-agnostic where possible.
|