Friday, November 14, 2025
HomeiOS DevelopmentTips on how to arrange pgSQL for Fluent 4?

Tips on how to arrange pgSQL for Fluent 4?

[ad_1]

In case you are already acquainted with PostgreSQL, however you do not know a lot about the best way to use databases in Vapor, it is best to learn my different tutorial about Fluent for freshmen.


A fast intro to PostgreSQL

PostgreSQL is an open supply database, it is out there for macOS, Linux and another working techniques. You possibly can set up it by utilizing the de-facto bundle supervisor on each platform. 📦



sudo apt-get set up postgresql postgresql-contrib
sudo service postgresql begin

sudo service --status-all
sudo service postgresql standing


brew set up postgresql
brew providers begin postgresql

brew providers record

You will additionally must set a correct password for the postgres consumer, which is the admin consumer by default with godlike permissions. You possibly can change the basis password, you simply must log in as a root & alter the postgres consumer report with the brand new go. 🔑


sudo -u postgres psql postgres

psql -U postgres







alter consumer postgres with password 'mypassword';


q


Any more you can entry pgSQL as root on each platforms like this:


psql -h localhost -U postgres


It is suggested to make use of a devoted consumer for each single database that you just create as an alternative of working with a shared root consumer. Let me present you the best way to create a brand new DB with an related consumer.



l

choose current_database();

create database mydb;

c mydb

create consumer myuser with encrypted password 'mypassword';

grant all privileges on database mydb to myuser;

q


That is it, you may handle your database by utilizing the newly created myuser account.



psql -h localhost -U myuser mydb

dt

d+ <desk>


You possibly can be taught extra about SQL instructions utilizing this pgSQL tutorial web site.



The command under can fully wipe your database, be extraordinarily cautious!


Now you’re able to mess around with Fluent, however earlier than we begin I might like to point out you some extra suggestions & methods. Throughout growth, issues can go flawed and also you would possibly want a recent begin on your DB. This is the best way to drop & reinitiate all the things. 😱



c mydb
drop schema public cascade;
create schema public;
grant all on schema public to postgres;
grant all on schema public to myuser;
grant all on schema public to public;


The snippet above will delete the public schema, subsequent it’s going to recreate it and add all the mandatory permissions for the required customers. It is fairly simple however nonetheless harmful. ⚠️


You possibly can execute SQL scripts straight from the terminal by utilizing the next command: psql -h localhost -U myuser mydb -c "choose * from mytable;"


You possibly can wipe all the things from the command line utilizing this “one-liner”:



psql -h localhost -U postgres mydb
    -c "drop schema public cascade; 
    create schema public; 
    grant all on schema public to postgres; 
    grant all on schema public to myuser; 
    grant all on schema public to public;"


I want to have each day backups from all my databases, this little shell script can do the job.




BACKUP_DIR=/Customers/tib/backups
FILE_SUFFIX=_pg_backup.sql
OUTPUT_FILE=${BACKUP_DIR}/`date +"%Y_percentm_percentd__percentH_percentM"`${FILE_SUFFIX}
PGPASSWORD="mypass" pg_dump -U myuser -h localhost mydb -F p -f ${OUTPUT_FILE}
gzip $OUTPUT_FILE


DAYS_TO_KEEP=30
discover $BACKUP_DIR -maxdepth 1 -mtime +$DAYS_TO_KEEP -name "*${FILE_SUFFIX}.gz" -exec rm -rf '{}' ';'


You possibly can simply restore a database from a backup by getting into the next traces to the terminal:



gunzip -k file.gz
psql -U myuser -d mydb -1 -f mybackup.sql


Generally after I restarted my mac it occurred to me that the PostgreSQL stopped working. I needed to run the snippet under to repair the difficulty. The primary line stops the service, the second initialize a brand new database, and the third will begin the service once more. Alternatively, you can begin the database once more with the brew providers begin postgresql command.


pg_ctl -D /usr/native/var/postgres cease -s -m quick
initdb /usr/native/var/postgres
pg_ctl -D /usr/native/var/postgres -l /usr/native/var/postgres/server.log begin


I am not a DevOps guru, be happy to tweet me if you recognize why this occurred to me. 😅




[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments