The following will outline how to quickly (and securely) get postgres and up and running.
We'll firstly need to add the epel repositories with:
sudo yum install epel-release
and then install postgres with:
sudo yum install postgresql postgresql-server postgresql-contrib
Initialise the database with:
postgresql-setup initdb
Let's firstly ensure that only local applications can access the server:
sudo vi /var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
local all all peer
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
The first line permit permit unix domain socket access for the postgres user - while the second and third line provide network access to localhost IPv4 and IPv6.
Enable and start the service:
sudo systemctl enable postgresql
sudo service start postgresql
Unlike MySQL / MariaDB - postgres by default uses 'peer' accounts - that are simply local user accounts that have been mapped with a corresponding postgres account.
By default postgres create a user called 'postgres' which we can use to access it's CLI:
sudo su - postgres
psql
quit the console using '\q'
We will then create a new user for our application (from the shell) with:
createuser --interactive
(ensuring the user is NOT a super admin, however can create databases.)
and set a password for the user:
psql
\password <username>
\q
We can this test this from shell with:
psql -U <username> -h localhost -W --dbname=postgres
Note: We haven't created a database for the user yet - so we use the 'postgres' database above.
Once logged in we can create our down database with:
CREATE DATABASE <database-name>;
0 comments:
Post a Comment