O7 Logo

Installation et Commande pour Postgres

Aide pour installer et utiliser postgres

Installation de Postgres (sur Alpine)

Ici, nous installons la version13.12. Pour voir la liste des version disponible, nous pouvons utiliser: apk search postgres

# Install Postgres
apk update
apk add --no-cache postgresql13=13.12-r0
apk add --no-cache postgresql13-contrib=13.12-r0

# Folder for PostgreSQL Socket
mkdir /run/postgresql
chown postgres:postgres /run/postgresql/

# Folder for PostgreSQL Data
su postgres -c "mkdir /var/lib/postgresql/data"
su postgres -c "chmod 0700 /var/lib/postgresql/data"

# Create New Database
su postgres -c "initdb -D /var/lib/postgresql/data"

Démarrer la Base de donnée

su postgres -c "pg_ctl start -D /var/lib/postgresql/data"

# Test
su postgres -c "psql -c\"SELECT version();\""

Création Utilisteur & BD

POSTGRES_DB=o7_db
POSTGRES_USER=mike
POSTGRES_PASSWORD=secret

# Create User
su postgres -c "psql -d template1 -c\"CREATE USER $POSTGRES_USER WITH PASSWORD '$POSTGRES_PASSWORD' CREATEDB;\""
su postgres -c "psql -d template1 -c\"CREATE DATABASE $POSTGRES_DB OWNER $POSTGRES_USER;\""

# Tests
psql -U $POSTGRES_USER -h postgres -d $POSTGRES_DB -c\"SELECT version();\""

Requete a partir de la ligne commande

Installing PSQL on Amazon Linux

# In sudo mode
amazon-linux-extras enable postgresql11
yum install postgresql -y
yum install jq -y
psql --version

Installing PSQL on Debian

# In sudo mode
apt install postgresql-client
apt install jq
psql --version

Init Varibles

export PGHOST=super.cluster-xxxxxxxx.ca-central-1.rds.amazonaws.com
export PGDATABASE=o7_db
export PGUSER=mike
export PGPASSWORD=secret

Init Varibles with AWS Secret

export SECRET_KEY=Name
export SECRET_VALUE=my-secret

SECRET_ARN=$(aws secretsmanager list-secrets --query 'SecretList[]' | jq ".[] | select(.Tags[]? | (.Key==\"$SECRET_KEY\" and .Value==\"$SECRET_VALUE\"))" | jq -r '.ARN')
SECRET=$(aws secretsmanager get-secret-value --secret-id  $SECRET_ARN --query SecretString --output text

export PGHOST=$(echo $SECRET | jq -r '.host')
export PGDATABASE=$(echo $SECRET | jq -r '.dbname')
export PGUSER=$(echo $SECRET | jq -r '.username')
export PGPASSWORD=$(echo $SECRET | jq -r '.password')

Query example

QUERY="SELECT version();"
psql -c "$QUERY"

# get all clients in database
QUERY="SELECT * FROM clients;"
psql -c "$QUERY"

Site de Référence

  • https://luppeng.wordpress.com/2020/02/28/install-and-start-postgresql-on-alpine-linux/