日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎么在一臺樹莓派上安裝Postgres數(shù)據(jù)庫

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

成都創(chuàng)新互聯(lián)公司主營奉賢網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),奉賢h5小程序開發(fā)搭建,奉賢網(wǎng)站營銷推廣歡迎奉賢等地區(qū)企業(yè)咨詢

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

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

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

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

安裝

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

 
 
 
 
  1. sudo apt install postgresql libpq-dev postgresql-client  
  2.  
  3. postgresql-client-common -y 

installing postgres

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

 
 
 
 
  1. sudo su postgres 

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

 
 
 
 
  1. createuser pi -P --interactive 

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

creating a postgres user

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

 
 
 
 
  1. $ psql 
  2.  
  3.     > create database test; 

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

 
 
 
 
  1. $ psql test 

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

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

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

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

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

 
 
 
 
  1. test=> select * from people; 
  2.  
  3.      name      |         company          
  4.  
  5. ---------------+------------------------- 
  6.  
  7.  Ben Nuttall   | Raspberry Pi Foundation 
  8.  
  9.  Rikki Endsley | Red Hat 
  10.  
  11. (2 rows) 

a postgres query

 
 
 
 
  1. test=> select name from people where company = 'Red Hat'; 
  2.  
  3.      name      | company  
  4.  
  5. ---------------+--------- 
  6.  
  7.  Rikki Endsley | Red Hat 
  8.  
  9. (1 row) 

pgAdmin

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

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

如果你想去訪問樹莓派,你可以用 apt 去安裝它:

 
 
 
 
  1. sudo apt install pgadmin3 

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

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

connect your database with pgadmin

要從另外一臺電腦上使用 pgAdmin 連接到你的樹莓派數(shù)據(jù)庫上,你首先需要編輯 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 (對于IPv4)和將 ::1/128 改變成 ::/0 (對于 IPv6)。然后保存并退出。

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

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

edit the postgresql configuration to allow remote connections

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

a remote connection

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

viewing test data

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

Python

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

 
 
 
 
  1. sudo pip3 install psycopg2 

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

 
 
 
 
  1. import psycopg2 
  2.  
  3.  conn = psycopg2.connect('dbname=test') 
  4.  
  5.  cur = conn.cursor() 
  6.  
  7.  cur.execute('select * from people') 
  8.  
  9.  results = cur.fetchall() 
  10.  
  11.  for result in results: 
  12.  
  13.      print(result) 

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

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

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

 
 
 
 
  1. def get_all_people(): 
  2.  
  3.         query = """ 
  4.  
  5.         SELECT 
  6.  
  7.             * 
  8.  
  9.         FROM 
  10.  
  11.             people 
  12.  
  13.         """ 
  14.  
  15.         cur.execute(query) 
  16.  
  17.         return cur.fetchall() 

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

 
 
 
 
  1. def get_people_by_company(company): 
  2.  
  3.        query = """ 
  4.  
  5.        SELECT 
  6.  
  7.            * 
  8.  
  9.        FROM 
  10.  
  11.            people 
  12.  
  13.        WHERE 
  14.  
  15.            company = %s 
  16.  
  17.        """ 
  18.  
  19.        values = (company, ) 
  20.  
  21.        cur.execute(query, values) 
  22.  
  23.        return cur.fetchall() 

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

 
 
 
 
  1. def add_person(name, company): 
  2.  
  3.         query = """ 
  4.  
  5.         INSERT INTO 
  6.  
  7.             people 
  8.  
  9.         VALUES 
  10.  
  11.             (%s, %s) 
  12.  
  13.         """ 
  14.  
  15.         values = (name, company) 
  16.  
  17.         cur.execute(query, values) 

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

Python

現(xiàn)在你知道了這些基礎(chǔ)知識,如果你想去進(jìn)一步掌握 Postgres ,查看在 Full Stack Python 上的文章。

(題圖:樹莓派基金會) 


網(wǎng)站題目:怎么在一臺樹莓派上安裝Postgres數(shù)據(jù)庫
當(dāng)前路徑:http://www.5511xx.com/article/dpogsgj.html