Setup#
Let install postgresqlfor Amazon Linux 2023
sudo dnf updatesudo dnf install postgresql15.x86_64 postgresql15-serversudo yum install postgresql15-contrib.x86_64
Command to check installed package and find package
yum search all postgresql15-contribrpm -qa | grep postgresql15-contribyum 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