4,348
edits
m →Initial set-up: adding of usage section |
mNo edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
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"> | |||
$ createdb -O puser appdb | |||
</syntaxhighlight> | </syntaxhighlight> | ||
= Usage = | = Usage = | ||
Log into PostgreSQL console using a specific user and DB | |||
<syntaxhighlight lang="bash"> | |||
$ sudo -iu puser | |||
$ psql -d appdata -U puser | |||
</syntaxhighlight> | |||
Create a new table | |||
<syntaxhighlight lang="psql"> | |||
puser=> CREATE TABLE demo( | |||
id serial PRIMARY KEY, | |||
email VARCHAR (100) UNIQUE NOT NULL, | |||
name VARCHAR (50) UNIQUE NOT NULL | |||
); | |||
</syntaxhighlight> | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|+ PostgreSQL | |+ PostgreSQL console commands | ||
|- | |- | ||
! Command !! Action !! Description or Notes | ! Command !! Action !! Description or Notes | ||
|- | |- | ||
| | | class="cli" | \q || Quit || | ||
|- | |- | ||
| | | class="cli" | \conninfo || Connection information || Get current connection information | ||
|- | |- | ||
| | | class="cli" | \d || List || List tables, views, and sequences | ||
|- | |||
| class="cli" | \dt || List tables || | |||
|} | |} | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Resources = | = Resources = | ||
[[Introduction to PostgreSQL for MySQL Users]] | [[Introduction to PostgreSQL for MySQL Users]] |