Setup#

Let install postgresqlfor Amazon Linux 2023

sudo dnf update
sudo dnf install postgresql15.x86_64 postgresql15-server
sudo yum install postgresql15-contrib.x86_64

Command to check installed package and find package

yum search all postgresql15-contrib
rpm -qa | grep postgresql15-contrib
yum list installed | grep postgres

Connect#

psql -h localhost -P 5432 -U demo -d dvdrental

Check the generate_series function.

psql select * from generate_series(1, 10);

Create a student table

CREATE TABLE if not EXISTS student (
id SERIAL PRIMARY KEY,
name TEXT,
login TEXT,
age INT,
gpa REAL
);

Insert a student in to the table

INSERT INTO student(name, login, age, gpa) VALUES('mike','mike@gmail.com',24,4.0);

Insert 1000 students into the table using generate_series

INSERT INTO student(name, login, age, gpa) VALUES('mike','mike@gmail.com',generate_series(1,1000),4.0)

Extension and Pages#

Install pg_freespacemap extension

CREATE EXTENSION 'pg_freespacemap';

Check available space (pages)

SELECT *, round(100 * avail/8192, 2) as "freespace ratio" FROM pg_freespace('student');

Check the pg_freespace table

SELECT * FROM pg_freespace;

Show available extensions

SELECT * FROM pg_extension;

Locate where files of database stored

dvdrental=# select pg_relation_filepath('student');
pg_relation_filepath
----------------------
base/16388/16731
(1 row)

Basic Query#

Clear screen

\! clear

List database

\list;

List table

\dt;

List user

\du

Check current user

\conninfo

Check where files are stored

SELECT *, pg_tablespace_location(oid) FROM pg_tablespace;

Setup#

Search package

yum search all postgresql15-contrib

Then install

yum install postgresql15-contrib.x86_64

Search installed package

rpm -qa | grep postgres

Search installed packages

yum list installed | grep postgres

Reference#

  • postgresql install linux guide