Fedora39 PostgreSQL15 ユーザーを追加して利用する方法


# cat/etc/redhat-release
Fedora release 39 (Thirty Nine)

操作方法
1.任意の PostgreSQL ユーザーを追加して利用するには、同名の OS ユーザーも必要になります。
OS ユーザーを追加する
# useradd fedora

2.PostgreSQL 管理ユーザーで PostgreSQL ユーザーとデータベース追加する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# su - postgres
$ createuser fedora
$ createdb testdb -O fedora
# su - postgres $ createuser fedora $ createdb testdb -O fedora
# su - postgres
$ createuser fedora
$ createdb testdb -O fedora

3.データベースのユーザーを確認する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[postgres@localhost ~]$ psql -c "select usename from pg_user;"
usename
----------
postgres
fedora
(2)
[postgres@localhost ~]$ psql -c "select usename from pg_user;" usename ---------- postgres fedora (2 行)
[postgres@localhost ~]$ psql -c "select usename from pg_user;"
 usename
----------
 postgres
 fedora
(2 行)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ psql -l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー | アクセス権限
-----------+----------+------------------+-------------+-------------------+-------------+----------------------+-----------------------
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
testdb | fedora | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc |
(4)
$ psql -l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー | アクセス権限 -----------+----------+------------------+-------------+-------------------+-------------+----------------------+----------------------- postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres + | | | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres + | | | | | | | postgres=CTc/postgres testdb | fedora | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | (4 行)
$ psql -l
                                                            データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー |     アクセス権限
-----------+----------+------------------+-------------+-------------------+-------------+----------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 |
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 | =c/postgres          +
           |          |                  |             |                   |             |                      | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 | =c/postgres          +
           |          |                  |             |                   |             |                      | postgres=CTc/postgres
 testdb    | fedora   | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 |
(4 行)

4.テスト DB に接続する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ psql testdb
psql (15.4)
"help"でヘルプを表示します。
testdb=#
$ psql testdb psql (15.4) "help"でヘルプを表示します。 testdb=#
$ psql testdb
psql (15.4)
"help"でヘルプを表示します。

testdb=#

5. ユーザーロール一覧を表示する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
\du
ロール一覧
ロール名 | 属性 | 所属グループ
----------+------------------------------------------------------------------------------+--------------
fedora | | {}
postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
\du ロール一覧 ロール名 | 属性 | 所属グループ ----------+------------------------------------------------------------------------------+-------------- fedora | | {} postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
\du
                                               ロール一覧
 ロール名 |                                     属性                                     | 所属グループ
----------+------------------------------------------------------------------------------+--------------
 fedora   |                                                                              | {}
 postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}

6.データベース一覧を表示する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー | アクセス権限
-----------+----------+------------------+-------------+-------------------+-------------+----------------------+-----------------------
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
testdb | fedora | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc |
(4)
# \l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー | アクセス権限 -----------+----------+------------------+-------------+-------------------+-------------+----------------------+----------------------- postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres + | | | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | =c/postgres + | | | | | | | postgres=CTc/postgres testdb | fedora | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | | libc | (4 行)
# \l
                                                            データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー |     アクセス権限
-----------+----------+------------------+-------------+-------------------+-------------+----------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 |
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 | =c/postgres          +
           |          |                  |             |                   |             |                      | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 | =c/postgres          +
           |          |                  |             |                   |             |                      | postgres=CTc/postgres
 testdb    | fedora   | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |             | libc                 |
(4 行)

7.テストテーブルを作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# create table test_table (num int, uname text);
CREATE TABLE
testdb=# create table test_table (num int, uname text); CREATE TABLE
testdb=# create table test_table (num int, uname text);
CREATE TABLE

8.テーブル一覧を表示する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# \dt
リレーション一覧
スキーマ | 名前 | タイプ | 所有者
----------+------------+----------+----------
public | test_table | テーブル | postgres
(1)
# \dt リレーション一覧 スキーマ | 名前 | タイプ | 所有者 ----------+------------+----------+---------- public | test_table | テーブル | postgres (1 行)
# \dt
              リレーション一覧
 スキーマ |    名前    |  タイプ  |  所有者
----------+------------+----------+----------
 public   | test_table | テーブル | postgres
(1 行)

9.テストテーブルにテストデータを挿入する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# insert into test_table (num,uname) values (01,'Fedorass');
INSERT 0 1
testdb=# insert into test_table (num,uname) values (01,'Fedorass'); INSERT 0 1
testdb=# insert into test_table (num,uname) values (01,'Fedorass');
INSERT 0 1

10.テーブルのデータを確認する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# select * from test_table;
num | uname
-----+----------
1 | Fedorass
(1)
testdb=# select * from test_table; num | uname -----+---------- 1 | Fedorass (1 行)
testdb=# select * from test_table;
num | uname
-----+----------
1 | Fedorass
(1 行)

# テストテーブルを削除

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=> drop table test_table;
DROP TABLE
testdb=> \dt
Did not find any relations.
testdb=> drop table test_table; DROP TABLE testdb=> \dt Did not find any relations.
testdb=> drop table test_table;
DROP TABLE

testdb=> \dt
Did not find any relations.

# exit する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=> \q
testdb=> \q
testdb=> \q

# テストデータベースを削除

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ dropdb testdb
$ psql -l
$ dropdb testdb $ psql -l
$ dropdb testdb
$ psql -l

 

Fedora 39

Posted by arkgame