Installing and configuring a PostgreSQL database
Step 1: Install the PostgreSQL client
To use Swift-Kuery-PostgreSQL you need to have the appropriate PostgreSQL C-language client installed.
macOS
On macOS we can use Homebrew to install Postgres:
brew install postgresql
Linux
On Linux we can use apt
to install PostgreSQL:
sudo apt install postgresql postgresql-contrib
Linux requires that you create a PostgreSQL user.
Step 2: Create a PostgreSQL database
Now that we have PostgreSQL installed we can create a database:
createdb bookstoredb
Then we can open the PostgreSQL command-line interface:
psql bookstoredb
Finally we can create a table in our database:
CREATE TABLE "BookTable" (
id varchar(100) PRIMARY KEY,
title text NOT NULL,
price float8 NOT NULL,
genre text NOT NULL
);
Enter \q
in terminal to exit psql.
Now we're ready to connect to our database from our Kitura server.
Step 3: Create a connection to a PostgreSQL database
Add Swift-Kuery and SwiftKueryPostgreSQL to the dependencies in the Package.swift
file.
Inside the file which defines the routes, KueryRoutes.swift
, import SwiftKuery and SwiftKueryPostgreSQL:
import SwiftKuery
import SwiftKueryPostgreSQL
Inside the App
extension, create a connection pool of connections:
static let poolOptions = ConnectionPoolOptions(initialCapacity: 1, maxCapacity: 5)
static let pool = PostgreSQLConnection.createPool(host: "localhost", port: 5432, options: [.databaseName("bookstoredb")], poolOptions: poolOptions)
// Create table instance here
This creates a pool of connections for us to use to make requests to our database.
If you are on Linux, you must provide your username and password in the options for
PostgreSQLConnection.createPool()
.
Now you can return to the Swift-Kuery guide.