偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

怎么在一臺樹莓派上安裝Postgres數(shù)據(jù)庫

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

[[210909]]

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

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

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

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

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

安裝

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

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

 

installing postgres

installing postgres

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

  1. sudo su postgres 

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

  1. createuser pi -P --interactive 

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

 

creating a postgres user

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ù)庫當前是空的,不包含任何表。你可以在 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'); 

然后嘗試進行查詢:

  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

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í)行查詢,和如同在電子表格一樣熟悉的視圖中瀏覽結果。psql 命令行工具可以很好地進行簡單查詢,并且你會發(fā)現(xiàn)很多高級用戶一直在使用它,因為它的執(zhí)行速度很快 (并且因為他們不需要借助 GUI),但是,一般用戶學習和操作數(shù)據(jù)庫,使用 pgAdmin 是一個更適合的方式。

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

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

  1. sudo apt install pgadmin3 

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

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

 

connect your database with pgadmin

connect your database with pgadmin

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

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 服務: sudo service postgresql restart。

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

 

edit the postgresql configuration to allow remote connections

edit the postgresql configuration to allow remote connections

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

 

a remote connection

a remote connection

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

 

viewing test data

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) 

運行這個代碼去看查詢結果。注意,如果你連接的是遠程數(shù)據(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ù)去運行特定的查詢:   

  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

Python

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

 

(題圖:樹莓派基金會) 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-05-06 13:52:00

樹莓派Ubuntu MATEUbuntu

2020-06-01 20:00:28

樹莓派TT-RSSLinux

2017-04-24 17:00:26

Linux樹莓派Fedora 25

2019-10-08 15:54:42

SQL數(shù)據(jù)庫技術

2020-11-03 10:37:01

樹莓派UbuntuLinux

2021-03-19 13:00:39

樹莓派Linux

2021-09-06 09:45:54

Windows操作系統(tǒng)功能

2018-11-08 09:00:31

樹莓派WordPressLinux

2021-12-21 21:00:23

Ansible樹莓派語音助手

2022-03-28 17:10:18

樹莓派服務器舊硬件

2019-07-31 09:32:06

2020-03-31 12:50:34

樹莓派K3sKubernetes集

2024-08-22 12:49:02

2018-03-26 11:39:13

LinuxAnsible計算系統(tǒng)

2018-04-04 10:14:18

LinuxRsyslog日志文件

2023-03-22 09:18:53

數(shù)據(jù)庫管理架構

2020-11-05 19:12:02

樹莓派Linux

2017-12-25 15:31:54

Mac恢復無響應

2017-05-31 10:27:25

戴爾教育云

2010-05-20 17:47:37

安裝MySQL數(shù)據(jù)庫
點贊
收藏

51CTO技術棧公眾號