成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

怎么在一臺樹莓派上安裝Postgres數據庫

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

[[210909]]

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

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

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

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

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

安裝

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

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

 

installing postgres

installing postgres

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

  1. sudo su postgres 

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

  1. createuser pi -P --interactive 

當得到提示時,輸入一個密碼 (并記住它), 選擇 n  使它成為一個非超級用戶(LCTT 譯注:此處原文有誤),接下來兩個問題選擇 y(LCTT 譯注:分別允許創建數據庫和其它用戶)。

 

creating a postgres user

creating a postgres user

現在,使用 Postgres shell 連接到 Postgres 去創建一個測試數據庫:   

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

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

  1. $ psql test 

你現在已經連接到 "test" 數據庫。這個數據庫當前是空的,不包含任何表。你可以在 psql shell 里創建一個簡單的表:

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

現在你可插入數據到表中:

  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

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

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

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

  1. sudo apt install pgadmin3 

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

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

 

connect your database with pgadmin

connect your database with pgadmin

要從另外一臺電腦上使用 pgAdmin 連接到你的樹莓派數據庫上,你首先需要編輯 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 鏡像或其它發行版,版本號可能不一樣。

 

edit the postgresql configuration to allow remote connections

edit the postgresql configuration to allow remote connections

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

 

a remote connection

a remote connection

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

 

viewing test data

viewing test data

你現在可以創建和修改數據庫和表、管理用戶,和使用 GUI 去寫你自己的查詢了。你可能會發現這種可視化方法比命令行更易于管理。

Python

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

  1. sudo pip3 install psycopg2 

現在打開一個 Python 編輯器寫一些代碼連接到你的數據庫:   

  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) 

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

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

你甚至可以創建一個函數去運行特定的查詢:   

  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() 

和一個包含參數的查詢:   

  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() 

或者甚至是一個增加記錄的函數:   

  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

現在你知道了這些基礎知識,如果你想去進一步掌握 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數據庫技術

2020-11-03 10:37:01

樹莓派UbuntuLinux

2021-03-19 13:00:39

樹莓派Linux

2021-09-06 09:45:54

Windows操作系統功能

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計算系統

2018-04-04 10:14:18

LinuxRsyslog日志文件

2023-03-22 09:18:53

數據庫管理架構

2020-11-05 19:12:02

樹莓派Linux

2017-12-25 15:31:54

Mac恢復無響應

2017-05-31 10:27:25

戴爾教育云

2023-03-06 11:44:37

Postgres數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本午夜精品 | 91精品久久久久久久久 | 91免费在线 | 国产精品日韩 | 成人精品国产一区二区4080 | 久久人人网 | 天天插天天射天天干 | 欧美www在线观看 | 中文字幕第一页在线 | 亚洲综合无码一区二区 | 久久这里只有 | 久久久久久久久久久福利观看 | 久久九 | 国产999精品久久久久久绿帽 | 亚洲国产精品视频一区 | 亚洲乱码一区二区三区在线观看 | 亚洲三级免费看 | 久久一 | 亚洲一区二区中文字幕 | 色综合色综合色综合 | 国产视频日韩 | 日韩精品一区二区三区在线观看 | 成人免费毛片片v | 国产1区2区3区 | 亚洲欧美激情国产综合久久久 | 成人欧美一区二区三区1314 | 国产黄色在线观看 | 久久国产成人精品国产成人亚洲 | 久久精品99 | 欧洲视频一区 | 久久精品视频在线观看 | 亚洲精品中文字幕在线观看 | 91久久国产综合久久91精品网站 | 久久69精品久久久久久久电影好 | 丝袜久久| 久久国产欧美日韩精品 | 91就要激情 | 久久欧美精品 | 国产区在线视频 | 狠狠色香婷婷久久亚洲精品 | 亚洲免费在线观看av |