如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù),小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),中原企業(yè)網(wǎng)站建設(shè),中原品牌網(wǎng)站建設(shè),網(wǎng)站定制,中原網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,中原網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

在你的下一個(gè)樹(shù)莓派項(xiàng)目上安裝和配置流行的開(kāi)源數(shù)據(jù)庫(kù) Postgres 并去使用它。

保存你的項(xiàng)目或應(yīng)用程序持續(xù)增加的數(shù)據(jù),數(shù)據(jù)庫(kù)是一種很好的方式。你可以在一個(gè)會(huì)話中將數(shù)據(jù)寫入到數(shù)據(jù)庫(kù),并且在下次你需要查找的時(shí)候找到它。一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)可以做到在巨大的數(shù)據(jù)集中高效地找到數(shù)據(jù),只要告訴它你想去找什么,而不用去考慮它是如何查找的。為一個(gè)基本的 CRUD (創(chuàng)建、記錄、更新、刪除)應(yīng)用程序安裝一個(gè)數(shù)據(jù)庫(kù)是非常簡(jiǎn)單的, 它是一個(gè)很通用的模式,并且也適用于很多項(xiàng)目。

為什么 PostgreSQL 一般被為 Postgres? 它被認(rèn)為是功能和性能***的開(kāi)源數(shù)據(jù)庫(kù)。如果你使用過(guò) MySQL,它們是很相似的。但是,如果你希望使用它更高級(jí)的功能,你會(huì)發(fā)現(xiàn)優(yōu)化 Postgres 是比較容易的。它便于安裝、容易使用、方便安全, 而且在樹(shù)莓派 3 上運(yùn)行的非常好。

本教程介紹了怎么在一個(gè)樹(shù)莓派上去安裝 Postgres;創(chuàng)建一個(gè)表;寫簡(jiǎn)單查詢;在樹(shù)莓派、PC,或者 Mac 上使用 pgAdmin 圖形用戶界面;從 Python 中與數(shù)據(jù)庫(kù)交互。

你掌握了這些基礎(chǔ)知識(shí)后,你可以讓你的應(yīng)用程序使用復(fù)合查詢連接多個(gè)表,那個(gè)時(shí)候你需要考慮的是,怎么去使用主鍵或外鍵優(yōu)化及***實(shí)踐等等。

安裝

一開(kāi)始,你將需要去安裝 Postgres 和一些其它的包。打開(kāi)一個(gè)終端窗口并連接到因特網(wǎng),然后運(yùn)行以下命令:

sudo apt install postgresql libpq-dev postgresql-client   postgresql-client-common -y

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

installing postgres

當(dāng)安裝完成后,切換到 Postgres 用戶去配置數(shù)據(jù)庫(kù):

sudo su postgres

現(xiàn)在,你可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶。如果你創(chuàng)建了一個(gè)與你的 Unix 用戶帳戶相同名字的用戶,那個(gè)用戶將被自動(dòng)授權(quán)訪問(wèn)該數(shù)據(jù)庫(kù)。因此在本教程中,為簡(jiǎn)單起見(jiàn),我們將假設(shè)你使用了默認(rèn)用戶 pi 。運(yùn)行 createuser 命令以繼續(xù):

createuser pi -P --interactive

當(dāng)?shù)玫教崾緯r(shí),輸入一個(gè)密碼 (并記住它), 選擇 n  使它成為一個(gè)非超級(jí)用戶(LCTT 譯注:此處原文有誤),接下來(lái)兩個(gè)問(wèn)題選擇 y(LCTT 譯注:分別允許創(chuàng)建數(shù)據(jù)庫(kù)和其它用戶)。

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

creating a postgres user

現(xiàn)在,使用 Postgres shell 連接到 Postgres 去創(chuàng)建一個(gè)測(cè)試數(shù)據(jù)庫(kù): 

$ psql      > create database test;

按下 Ctrl+D 兩次從 psql shell 和 postgres 用戶中退出,再次以 pi 用戶登入。你創(chuàng)建了一個(gè)名為 pi 的 Postgres 用戶后,你可以從這里無(wú)需登錄憑據(jù)即可訪問(wèn) Postgres shell:

$ psql test

你現(xiàn)在已經(jīng)連接到 "test" 數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)當(dāng)前是空的,不包含任何表。你可以在 psql shell 里創(chuàng)建一個(gè)簡(jiǎn)單的表:

test=> create table people (name text, company text);

現(xiàn)在你可插入數(shù)據(jù)到表中:

test=> insert into people values ('Ben Nuttall', 'Raspberry Pi Foundation');  test=> insert into people values ('Rikki Endsley', 'Red Hat');

然后嘗試進(jìn)行查詢:

test=> select * from people;       name      |         company           ---------------+-------------------------   Ben Nuttall   | Raspberry Pi Foundation   Rikki Endsley | Red Hat  (2 rows)

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

a postgres query

test=> select name from people where company = 'Red Hat';       name      | company   ---------------+---------   Rikki Endsley | Red Hat  (1 row)

pgAdmin

如果希望使用一個(gè)圖形工具去訪問(wèn)數(shù)據(jù)庫(kù),你可以使用它。 PgAdmin 是一個(gè)全功能的 PostgreSQL GUI,它允許你去創(chuàng)建和管理數(shù)據(jù)庫(kù)和用戶、創(chuàng)建和修改表、執(zhí)行查詢,和如同在電子表格一樣熟悉的視圖中瀏覽結(jié)果。psql 命令行工具可以很好地進(jìn)行簡(jiǎn)單查詢,并且你會(huì)發(fā)現(xiàn)很多高級(jí)用戶一直在使用它,因?yàn)樗膱?zhí)行速度很快 (并且因?yàn)樗麄儾恍枰柚?GUI),但是,一般用戶學(xué)習(xí)和操作數(shù)據(jù)庫(kù),使用 pgAdmin 是一個(gè)更適合的方式。

關(guān)于 pgAdmin 可以做的其它事情:你可以用它在樹(shù)莓派上直接連接數(shù)據(jù)庫(kù),或者用它在其它的電腦上遠(yuǎn)程連接到樹(shù)莓派上的數(shù)據(jù)庫(kù)。

如果你想去訪問(wèn)樹(shù)莓派,你可以用 apt 去安裝它:

sudo apt install pgadmin3

它是和基于 Debian 的系統(tǒng)如 Ubuntu 是完全相同的;如果你在其它發(fā)行版上安裝,嘗試與你的系統(tǒng)相關(guān)的等價(jià)的命令。 或者,如果你在 Windows 或 macOS 上,嘗試從 pgAdmin.org 上下載 pgAdmin。注意,在 apt 上的可用版本是 pgAdmin3,而***的版本 pgAdmin4,在其網(wǎng)站上可以找到。

在同一臺(tái)樹(shù)莓派上使用 pgAdmin 連接到你的數(shù)據(jù)庫(kù),從主菜單上簡(jiǎn)單地打開(kāi) pgAdmin3 ,點(diǎn)擊 new connection 圖標(biāo),然后完成注冊(cè),這時(shí),你將需要一個(gè)名字(連接名,比如 test),改變用戶為 “pi”,然后剩下的輸入框留空 (或者如它們?cè)静粍?dòng))。點(diǎn)擊 OK,然后你在左側(cè)的側(cè)面版中將發(fā)現(xiàn)一個(gè)新的連接。

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

connect your database with pgadmin

要從另外一臺(tái)電腦上使用 pgAdmin 連接到你的樹(shù)莓派數(shù)據(jù)庫(kù)上,你首先需要編輯 PostgreSQL 配置允許遠(yuǎn)程連接:

1、 編輯 PostgreSQL 配置文件 /etc/postgresql/9.6/main/postgresql.conf ,取消 listen_addresses 行的注釋,并把它的值從 localhost 改變成 *。然后保存并退出。

2、 編輯 pg_hba 配置文件 /etc/postgresql/9.6/main/postgresql.conf,將 127.0.0.1/32 改變成 0.0.0.0/0 (對(duì)于IPv4)和將 ::1/128 改變成 ::/0 (對(duì)于 IPv6)。然后保存并退出。

3、 重啟 PostgreSQL 服務(wù): sudo service postgresql restart。

注意,如果你使用一個(gè)舊的 Raspbian 鏡像或其它發(fā)行版,版本號(hào)可能不一樣。

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

edit the postgresql configuration to allow remote connections

做完這些之后,在其它的電腦上打開(kāi) pgAdmin 并創(chuàng)建一個(gè)新的連接。這時(shí),需要提供一個(gè)連接名,輸入樹(shù)莓派的 IP 地址作為主機(jī)(這可以在任務(wù)欄的 WiFi 圖標(biāo)上懸停鼠標(biāo)找到,或者在一個(gè)終端中輸入 hostname -I 找到)。

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

a remote connection

不論你連接的是本地的還是遠(yuǎn)程的數(shù)據(jù)庫(kù),點(diǎn)擊打開(kāi) Server Groups > Servers > test > Schemas > public > Tables,右鍵單擊 people 表,然后選擇 View Data > View top 100 Rows。你現(xiàn)在將看到你前面輸入的數(shù)據(jù)。

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

viewing test data

你現(xiàn)在可以創(chuàng)建和修改數(shù)據(jù)庫(kù)和表、管理用戶,和使用 GUI 去寫你自己的查詢了。你可能會(huì)發(fā)現(xiàn)這種可視化方法比命令行更易于管理。

Python

要從一個(gè) Python 腳本連接到你的數(shù)據(jù)庫(kù),你將需要 Psycopg2 這個(gè) Python 包。你可以用 pip 來(lái)安裝它:

sudo pip3 install psycopg2

現(xiàn)在打開(kāi)一個(gè) Python 編輯器寫一些代碼連接到你的數(shù)據(jù)庫(kù): 

import psycopg2   conn = psycopg2.connect('dbname=test')   cur = conn.cursor()   cur.execute('select * from people')   results = cur.fetchall()   for result in results:       print(result)

運(yùn)行這個(gè)代碼去看查詢結(jié)果。注意,如果你連接的是遠(yuǎn)程數(shù)據(jù)庫(kù),在連接字符串中你將需要提供更多的憑據(jù),比如,增加主機(jī) IP、用戶名,和數(shù)據(jù)庫(kù)密碼:

conn = psycopg2.connect('host=192.168.86.31 user=pi   password=raspberry dbname=test')

你甚至可以創(chuàng)建一個(gè)函數(shù)去運(yùn)行特定的查詢: 

def get_all_people():          query = """          SELECT              *          FROM              people          """          cur.execute(query)          return cur.fetchall()

和一個(gè)包含參數(shù)的查詢: 

def get_people_by_company(company):         query = """         SELECT             *         FROM             people         WHERE             company = %s         """         values = (company, )         cur.execute(query, values)         return cur.fetchall()

或者甚至是一個(gè)增加記錄的函數(shù): 

def add_person(name, company):          query = """          INSERT INTO              people          VALUES              (%s, %s)          """          values = (name, company)          cur.execute(query, values)

注意,這里使用了一個(gè)注入字符串到查詢中的安全的方法, 你不希望被 小鮑勃的桌子 害死!

如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)

關(guān)于“如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

當(dāng)前題目:如何在一臺(tái)樹(shù)莓派上安裝Postgres數(shù)據(jù)庫(kù)
網(wǎng)頁(yè)網(wǎng)址:http://bm7419.com/article16/ipocgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站收錄、服務(wù)器托管網(wǎng)站導(dǎo)航、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)