成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

openSUSE 安裝 PostgreSQL

zeyu / 3067人閱讀

摘要:安裝安裝客戶端安裝服務(wù)器交互式客戶端程序是,服務(wù)器程序是。安裝完后,多了一個(gè)用戶,但是這個(gè)用戶沒(méi)有設(shè)置密碼,現(xiàn)在為它設(shè)置密碼提示輸入新的密碼下面切換到用戶,然后創(chuàng)建數(shù)據(jù)庫(kù)簇。切回用戶,列出所有角色。重新創(chuàng)建角色隨后,即可以角色登錄了。

環(huán)境:openSUSE Leap 42.2

自從 Ubuntu 棄 Unity 轉(zhuǎn) Gnome,我也就棄 Ubuntu 而轉(zhuǎn) openSUSE 了。
Leap 的軟件版本是舊了一點(diǎn)(比如 Vim 還停留在 7.4),好處是穩(wěn)定、優(yōu)雅、省心。滾動(dòng)發(fā)行版 Tumbleweed 目前還差那么一口氣,試用之后覺(jué)得不夠穩(wěn)定,并不適合日常使用。
openSUSE 的 KDE 桌面堪稱一絕,上班用 Windows、娛樂(lè)用 Mac、寫代碼用 Linux 的我,自認(rèn)為 openSUSE 的 KDE 是最好的桌面。

還在用 Ubuntu 的同學(xué),可以參考 阮一峰 寫的 PostgreSQL 新手入門。

安裝

安裝客戶端:

$ sudo zypper in postgresql

安裝服務(wù)器:

$ sudo zypper in postgresql-server

交互式客戶端程序是 psql,服務(wù)器程序是 postgres。

安裝完后,Linux 多了一個(gè)用戶 postgres,但是這個(gè)用戶沒(méi)有設(shè)置密碼,現(xiàn)在為它設(shè)置密碼:

$ sudo passwd postgres
<提示輸入新的密碼>

下面切換到用戶 postgres,然后創(chuàng)建數(shù)據(jù)庫(kù)簇(Cluster)。

(adam@linux) $ su postgres
<輸入剛剛設(shè)置的密碼>

(postgres@linux) $ initdb -D /var/lib/pgsql/data

數(shù)據(jù)庫(kù)簇是放置數(shù)據(jù)庫(kù)的位置,/var/lib/pgsql/data 是推薦的位置之一。

啟動(dòng)服務(wù)

必須先切換至 postgres 用戶:

(adam@linux) $ su postgres

通過(guò) pg_ctl 工具啟動(dòng)服務(wù):

(postgres@linux) $ pg_ctl start -D /var/lib/pgsql/data
正在啟動(dòng)服務(wù)器進(jìn)程
2017-06-25 10:11:14 CST   日志:  日志輸出重定向到日志收集進(jìn)程
2017-06-25 10:11:14 CST   提示:  后續(xù)的日志輸出將出現(xiàn)在目錄 "pg_log" 中

pg_ctl 是一個(gè)用于初始化、啟動(dòng)、停止或控制 PostgreSQL 服務(wù)器的工具。

看一下進(jìn)程狀態(tài):

$ ps aux | grep postgres
postgres  5765  0.0  0.2 213160 20404 pts/0    S    10:11   0:00 /usr/lib/postgresql94/bin/postgres -D /var/lib/pgsql/data
postgres  5768  0.0  0.0  68308  3112 ?        Ss   10:11   0:00 postgres: logger process
postgres  5770  0.0  0.0 213160  3628 ?        Ss   10:11   0:00 postgres: checkpointer process
postgres  5771  0.0  0.0 213160  5684 ?        Ss   10:11   0:00 postgres: writer process
postgres  5772  0.0  0.0 213160  3628 ?        Ss   10:11   0:00 postgres: wal writer process
postgres  5773  0.0  0.0 213560  6800 ?        Ss   10:11   0:00 postgres: autovacuum launcher process
postgres  5774  0.0  0.0  68304  4216 ?        Ss   10:11   0:00 postgres: stats collector process

通過(guò) pg_ctl 查看狀態(tài):

(postgres@linux) $ pg_ctl status -D /var/lib/pgsql/data
pg_ctl: 正在運(yùn)行服務(wù)器進(jìn)程(PID: 5765)
/usr/lib/postgresql94/bin/postgres "-D" "/var/lib/pgsql/data"

注意非 postgres 用戶下仍是沒(méi)有權(quán)限查看狀態(tài)的:

(adam@linux) $ pg_ctl status -D /var/lib/pgsql/data
pg_ctl: 無(wú)法訪問(wèn)目錄 "/var/lib/pgsql/data": 權(quán)限不夠

為了避免每次都用 -D 選項(xiàng)指定數(shù)據(jù)庫(kù)簇的目錄,現(xiàn)添加環(huán)境變量 PGDATA
打開 .bashrc,添加如下兩行:

# PostgreSQL database cluster directory.
export PGDATA=/var/lib/pgsql/data

下次再用 pg_ctl 時(shí)就不需指定 -D 了。

(postgres@linux) $ pg_ctl status
pg_ctl: 正在運(yùn)行服務(wù)器進(jìn)程(PID: 5765)
/usr/lib/postgresql94/bin/postgres "-D" "/var/lib/pgsql/data"
角色(Role)

回到 Linux 普通用戶(比如 adam),用客戶端程序 psql 嘗試交互:

(adam@linux) $ psql template1
psql: 致命錯(cuò)誤:  角色 "adam" 不存在

提示說(shuō)角色不存在。
角色是 PostgreSQL 管理數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限的一個(gè)概念。

切回 postgres 用戶,列出所有角色。

(postgres@linux) $ psql template1
psql (9.4.9)
輸入 "help" 來(lái)獲取幫助信息.

template1=# SELECT rolname FROM pg_roles;
rolname
----------
postgres
(1 行記錄)

可見目前只有一個(gè)角色 postgres。
新建一個(gè)角色 adam

template1=# CREATE ROLE adam;
CREATE ROLE
template1=# SELECT  rolname FROM pg_roles;
rolname
----------
postgres
adam
(2 行記錄)

再次嘗試以用戶 adam 連接:

(adam@linux) $ psql template1

psql: 致命錯(cuò)誤:  不允許角色"adam" 進(jìn)行登錄

看來(lái)剛剛創(chuàng)建的角色 adam 沒(méi)有 LOGIN 到數(shù)據(jù)庫(kù)的權(quán)限。
重新創(chuàng)建角色:

template1=# DROP ROLE adam;
DROP ROLE
template1=# CREATE ROLE adam WITH LOGIN CREATEDB PASSWORD "654321";

隨后,即可以角色 adam 登錄了。

(adam@linux) $ psql -l
                                    資料庫(kù)列表
  名稱    |  擁有者  | 字元編碼 |  校對(duì)規(guī)則   |    Ctype    |       存取權(quán)限
-----------+----------+----------+-------------+-------------+-----------------------
postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
          |          |          |             |             | postgres=CTc/postgres
template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
          |          |          |             |             | postgres=CTc/postgres
(3 行記錄)

psql 通過(guò) -U 指定角色,前面都沒(méi)有指定,缺省角色即 Linux 的用戶名,所以其實(shí)可以指定角色:

(adam@linux) $ psql -l -Uadam

注意,數(shù)據(jù)庫(kù)角色名不必和 Linux 用戶名相同。

通過(guò) -U 選項(xiàng),可以以任意角色登錄數(shù)據(jù)庫(kù):

(adam@linux) $ psql -l -Upostgres
創(chuàng)建數(shù)據(jù)庫(kù)
(adam@linux) $ createdb mydb

(adam@linux) $ psql -l

  名稱    |  擁有者  | 字元編碼 |  校對(duì)規(guī)則   |    Ctype    |       存取權(quán)限
-----------+----------+----------+-------------+-------------+-----------------------
mydb      | adam     | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
...

刪除數(shù)據(jù)庫(kù):

(adam@linux) $ dropdb mydb

使用數(shù)據(jù)庫(kù):

(adam@linux) $ psql mydb

當(dāng)然,psql 只是使用數(shù)據(jù)的方式之一。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/17611.html

相關(guān)文章

  • openSUSE 安裝 PostgreSQL

    摘要:安裝安裝客戶端安裝服務(wù)器交互式客戶端程序是,服務(wù)器程序是。安裝完后,多了一個(gè)用戶,但是這個(gè)用戶沒(méi)有設(shè)置密碼,現(xiàn)在為它設(shè)置密碼提示輸入新的密碼下面切換到用戶,然后創(chuàng)建數(shù)據(jù)庫(kù)簇。切回用戶,列出所有角色。重新創(chuàng)建角色隨后,即可以角色登錄了。 環(huán)境:openSUSE Leap 42.2 自從 Ubuntu 棄 Unity 轉(zhuǎn) Gnome,我也就棄 Ubuntu 而轉(zhuǎn) openSUSE 了。Le...

    Half 評(píng)論0 收藏0
  • openSUSE 下 nginx 的安裝配置

    摘要:本文介紹一下在下如何安裝,以及對(duì)做一些簡(jiǎn)單的配置。安裝完畢后會(huì)自動(dòng)退出。通過(guò)這個(gè)步驟,來(lái)完成對(duì)配置文件的重新載入。節(jié)點(diǎn)中表示根目錄存放的位置,表示要監(jiān)聽的端口,表示主機(jī)名。 本文介紹一下在 openSUSE 下如何安裝 nginx ,以及對(duì) nginx 做一些簡(jiǎn)單的配置。 安裝環(huán)境:openSUSE Leap 42.2 安裝步驟 1. 添加軟件源 安裝 nginx 有幾種方式,包括源...

    Fourierr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<