PostgreSQL: Difference between revisions

From Han Wiki
Jump to navigation Jump to search
m →‎Initial set-up: adding of usage section
Line 56: Line 56:


postgres=#
postgres=#
</syntaxhighlight>
= Configuration =
In order to force password when logging into postgresql console change <code>ident</code> to <code>scram-sha-256</code> in <code>/var/lib/pgsql/data/pg_hba.conf</code> for IP local connections entries.  This is the HBA (Host-based Authentication) configuration file for PostgreSQL.  Restart afterwards.
== Create a new PostgreSQL user account and a new DB ==
Create a Linux user account
<syntaxhighlight lang="bash">
$ sudo useradd puser
$ sudo passwd puser
</syntaxhighlight>
log in as the admin PostgreSQL user
<syntaxhighlight lang="bash">
$ sudo -iu postgres
</syntaxhighlight>
create a new PostgreSQL role for puser Linux user
<syntaxhighlight lang="bash">
$ createuser --interactive --pwprompt
</syntaxhighlight>
while still logged in as postgres user (admin PostgreSQL user) create a new database named appdb for puser
<syntaxhighlight lang="bash">
$ created -O puser appdb
</syntaxhighlight>
</syntaxhighlight>


Line 66: Line 98:
! Command !! Action !! Description or Notes
! Command !! Action !! Description or Notes
|-
|-
| <code>\q</code> || Quit ||
| class="cli" | \q || Quit ||
|-
|-
| Example || Example || Example
| Example || Example || Example
Line 73: Line 105:
|}
|}
<code>\q</code>
<code>\q</code>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">

Revision as of 13:10, 13 October 2023

Initial set-up

Install (the default is v10.23 as of 2023-10-13)

  • Last tested on 2023-10-13 (RHEL 8.8 (Ootpa))
$ sudo yum module list | grep postgresql
$ sudo yum install @postgresql

to install a specific version

$ sudo yum install @postgresql:9.6

for the initial set-up

$ sudo postgresql-setup --initdb
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

for setting up a password for the postgres account

$ sudo passwd postgres
Changing password for user postgres.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

enable PostgreSQL server at the boot time

$ sudo systemctl enable postgresql


Prerequisite for psql console

change to postgres user account

$ sudo -iu postgres

log into postgres console

$ psql
psql (10.23)
Type "help" for help.

postgres=#


Configuration

In order to force password when logging into postgresql console change ident to scram-sha-256 in /var/lib/pgsql/data/pg_hba.conf for IP local connections entries. This is the HBA (Host-based Authentication) configuration file for PostgreSQL. Restart afterwards.

Create a new PostgreSQL user account and a new DB

Create a Linux user account

$ sudo useradd puser
$ sudo passwd puser

log in as the admin PostgreSQL user

$ sudo -iu postgres

create a new PostgreSQL role for puser Linux user

$ createuser --interactive --pwprompt

while still logged in as postgres user (admin PostgreSQL user) create a new database named appdb for puser

$ created -O puser appdb


Usage

PostgreSQL
Command Action Description or Notes
\q Quit
Example Example Example
Example Example Example

\q


Resources

Introduction to PostgreSQL for MySQL Users