国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

postgres篇---docker安裝postgres,python連接postgres數(shù)據(jù)庫(kù)

這篇具有很好參考價(jià)值的文章主要介紹了postgres篇---docker安裝postgres,python連接postgres數(shù)據(jù)庫(kù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、docker安裝postgres

Docker是一種開(kāi)源容器化平臺(tái),它允許開(kāi)發(fā)人員在輕松可移植的環(huán)境中構(gòu)建、部署和運(yùn)行應(yīng)用程序。PostgreSQL是一種強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù),它是一種開(kāi)源軟件,提供了高可靠性、可擴(kuò)展性和安全性。

在Docker中使用PostgreSQL,您可以通過(guò)Docker Hub上的PostgreSQL官方鏡像來(lái)創(chuàng)建一個(gè)容器,然后在其中運(yùn)行PostgreSQL服務(wù)。以下是在Docker中使用PostgreSQL的一些常見(jiàn)步驟:

1.1 安裝Docker:

請(qǐng)按照您的操作系統(tǒng)的指南安裝Docker。安裝完成后,您可以在終端中運(yùn)行docker命令,驗(yàn)證Docker是否正確安裝。

1.2 從Docker Hub獲取PostgreSQL鏡像

運(yùn)行以下命令從Docker Hub上獲取最新版本的PostgreSQL鏡像:

docker pull postgres

docker 安裝postgres,docker,數(shù)據(jù)庫(kù),python

1.3 創(chuàng)建PostgreSQL容器

運(yùn)行以下命令以創(chuàng)建一個(gè)新的PostgreSQL容器。其中,-e 參數(shù)用于設(shè)置環(huán)境變量,-p 參數(shù)用于將容器端口映射到主機(jī)端口,-v 參數(shù)用于將主機(jī)目錄掛載到容器內(nèi)的目錄。

docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword 
-e ALLOW_IP_RANGE=0.0.0.0/0  -p 5432:5432 -v /my/local/path:/var/lib/postgresql/data -d postgres

在上面的命令中,my-postgres是容器的名稱(chēng),POSTGRES_PASSWORD是PostgreSQL的管理員psd,-p 5432:5432將容器的5432端口映射到主機(jī)的5432端口,/my/local/path 是主機(jī)上的目錄(可自行設(shè)置),將用于容器中的PostgreSQL數(shù)據(jù)。

1.4 訪問(wèn)PostgreSQL

現(xiàn)在,您可以使用以下命令進(jìn)入正在運(yùn)行的容器:

docker exec -it my-postgres psql -U postgres

這將打開(kāi)一個(gè)交互式PostgreSQL shell,您可以在其中執(zhí)行SQL命令。

這些是在Docker中使用PostgreSQL的一些基本步驟。您還可以使用其他Docker命令來(lái)管理容器,例如docker stop、docker start和docker rm等。

二. python連接postgres數(shù)據(jù)庫(kù)

python連接postgresql數(shù)據(jù)庫(kù)

postgresql是常用的關(guān)系型數(shù)據(jù)庫(kù),并且postgresql目前還保持著全部開(kāi)源的狀態(tài),所以我們今天就一起來(lái)學(xué)習(xí)一下,如何用python連接postgresql。
安裝psycopg

pip install psycopg2

官方文檔地址:

https://www.psycopg.org/docs/cursor.html

連接數(shù)據(jù)庫(kù)操作流程

若是增、刪、更等操作,則操作流程為:

  • connect連接
  • 獲取游標(biāo)對(duì)象cursor
  • 執(zhí)行sql得到結(jié)果execute
  • 操作成功執(zhí)行提交commit
  • 關(guān)閉連接釋放資源

若是查詢(xún),則操作流程為:

  • connect連接
  • 獲取游標(biāo)對(duì)象cursor
  • 執(zhí)行sql得到結(jié)果 execute
  • 獲取數(shù)據(jù)
  • 關(guān)閉連接釋放資源

查詢(xún)結(jié)果和增刪改其他操作步驟都一樣,只有第四步的時(shí)候,有些許差別。

2.1 connect連接

connect連接

psycopg2.connect(dsn=None , connection_factory=None , cursor_factory=None , async=False , \*\*kwargs)

創(chuàng)建得到一個(gè)新的數(shù)據(jù)庫(kù)會(huì)話并返回一個(gè)新的connection對(duì)象。
可以使用dsn參數(shù)將連接參數(shù)指定為libpq連接字符串:

conn = psycopg2.connect("dbname=test user=postgres password=secret")

或者用一組關(guān)鍵字參數(shù):

conn = psycopg2.connect(dbname="test", user="postgres", password="secret")

或者兩者混用,如果在兩個(gè)源中指定了相同的參數(shù)名稱(chēng),則關(guān)鍵字參數(shù)值將優(yōu)先于dsn參數(shù)。
注意,需要dsn或至少一個(gè)與連接相關(guān)的關(guān)鍵字參數(shù)。
基本的連接參數(shù):

  • dbname - 數(shù)據(jù)庫(kù)名稱(chēng)
  • user - 用于驗(yàn)證的用戶名
  • password - 用于驗(yàn)證的psd
  • host - 數(shù)據(jù)庫(kù)主機(jī)地址
  • port - 連接的端口號(hào)(默認(rèn)5432)

示例:

conn = psycopg2.connect(database='test',user='postgres',password='123456',host='localhost',port='5432')

2.2 cursor

cursor

cursor ( name = None , cursor_factory = None , scrollable = None , withhold = False ) 

使用連接返回一個(gè)新cursor對(duì)象。

示例:

cursor = conn.cursor()

2.3 excute執(zhí)行sql語(yǔ)句

從上面cursor()后得到一個(gè)游標(biāo)對(duì)象,該游標(biāo)對(duì)象使用execute方法或者executemany方法執(zhí)行sql語(yǔ)句。

  • execute(query, vars=None)
cursor.execute(sql)
  • executemany(query, vars_list)
cursor.executemany(sql)

2.4 提交結(jié)果

若是增加,刪除,更改表中的數(shù)據(jù),修改后必須提交才能生效。

conn.commit()

2.5 獲取數(shù)據(jù)

若是查詢(xún)數(shù)據(jù)的時(shí)候,我們需要檢索函數(shù)獲取數(shù)據(jù),常用的函數(shù)有fetchone(),fetchmany(),fetchall() 。

  • fetchone()
    返回一個(gè)元組,元組中是結(jié)果集的下一行。當(dāng)沒(méi)有數(shù)據(jù)可用時(shí),則返回None。
  • fetchmany([size=cursor.arraysize])
    返回一個(gè)元組,元組中是下一組結(jié)果的結(jié)果集。當(dāng)沒(méi)有更多行可用時(shí),返回一個(gè)空列表。
    每次調(diào)用要獲取的行數(shù)由參數(shù)指定。如果未給出,則游標(biāo)arraysize確定要獲取的行數(shù)。
    在不傳參數(shù)的情況下,默認(rèn)只返回第一條數(shù)據(jù),若是在括號(hào)里傳入數(shù)字,表示獲取幾條數(shù)據(jù),則最后的結(jié)果就會(huì)返回幾條。
  • fetchall()
    獲取查詢(xún)結(jié)果的所有(剩余)行,將它們作為元組列表返回。如果沒(méi)有更多記錄可獲取,則返回一個(gè)空列表。

2.6 關(guān)閉連接

conn.close()

示例

# -*- coding: utf-8 -*-
import psycopg2
## 建立connect 連接
conn = psycopg2.connect(database='test',user='postgres',password='xxxxxx',host='localhost',port='5432')

# 游標(biāo)
cur = conn.cursor()

# 執(zhí)行sql
# 建表
cur.execute('create table tname(id int,name varchar);')
# 插入數(shù)據(jù)
cur.execute('insert into tname values (1,\'張三\');');
t_table=((2,'李四'),(3,'王五'))
cur.executemany('insert into tname values (%s,%s)',t_table)

# 提交數(shù)據(jù)
conn.commit()

# 關(guān)閉連接
conn.close()

得到結(jié)果如下圖:
docker 安裝postgres,docker,數(shù)據(jù)庫(kù),python

import psycopg2
## 建立connect 連接
conn = psycopg2.connect(database='test',user='postgres',password='xxxxxx',host='localhost',port='5432')

# 游標(biāo)
cur = conn.cursor()

# 執(zhí)行sql
cur.execute('select * from tname;')

# 獲取數(shù)據(jù)
rows = cur.fetchall()
for row in rows:
    print(row)

# 關(guān)閉連接
conn.close()

得到結(jié)果如下圖:
docker 安裝postgres,docker,數(shù)據(jù)庫(kù),python
好啦,本文到這里就結(jié)束啦。
感謝您的閱讀~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-690444.html

到了這里,關(guān)于postgres篇---docker安裝postgres,python連接postgres數(shù)據(jù)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【fly-iot飛凡物聯(lián)】(15):IOT項(xiàng)目使用TDengine數(shù)據(jù)庫(kù),進(jìn)行技術(shù)調(diào)研,本地使用docker啟動(dòng)成功,可以使用python進(jìn)行連接數(shù)據(jù)插入。

    本文的原文連接是: https://blog.csdn.net/freewebsys/article/details/108971807 fly-iot飛凡物聯(lián)專(zhuān)欄: https://blog.csdn.net/freewebsys/category_12219758.html 產(chǎn)品簡(jiǎn)介 TDengine 是一款專(zhuān)為物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等場(chǎng)景設(shè)計(jì)并優(yōu)化的大數(shù)據(jù)平臺(tái),它能安全高效地將大量設(shè)備、數(shù)據(jù)采集器每天產(chǎn)生的高達(dá) TB 甚至

    2024年02月03日
    瀏覽(45)
  • Navicat使用HTTP通道服務(wù)器進(jìn)行連接mysql數(shù)據(jù)庫(kù)(超簡(jiǎn)單三分鐘完成),centos安裝nginx和php,docker安裝nginx+php合并版

    Navicat使用HTTP通道服務(wù)器進(jìn)行連接mysql數(shù)據(jù)庫(kù)(超簡(jiǎn)單三分鐘完成),centos安裝nginx和php,docker安裝nginx+php合并版

    因?yàn)閿?shù)據(jù)庫(kù)服務(wù)器在外網(wǎng)是不能直接連接訪問(wèn)的,但是可以訪問(wèn)網(wǎng)站,網(wǎng)站后臺(tái)就能訪問(wèn)數(shù)據(jù)庫(kù),所以在此之前,訪問(wèn)數(shù)據(jù)庫(kù)的數(shù)據(jù)是一件非常麻煩的事情,在平時(shí)和運(yùn)維的交流中發(fā)現(xiàn),他們會(huì)使用ssh通道進(jìn)行連接訪問(wèn)數(shù)據(jù)庫(kù),之前并沒(méi)在意這個(gè)東西,直到運(yùn)維人員一直連不

    2024年02月10日
    瀏覽(29)
  • Docker與本地?cái)?shù)據(jù)庫(kù)連接

    Docker與本地?cái)?shù)據(jù)庫(kù)連接

    是一個(gè)開(kāi)源的應(yīng)用容器,容器是完全使用沙箱機(jī)制,各個(gè)應(yīng)用之間不會(huì)有連接,是單獨(dú)運(yùn)行的。 鏡像:將應(yīng)用程序所需要的環(huán)境和配置等文件打包在一起 \\\"mysql:5.7\\\"前半部分的代表鏡像的名稱(chēng),后半部分代表版本號(hào)(若沒(méi)有版本號(hào)則為最新版本latest) ? 拉取、查看鏡像 docker

    2024年02月02日
    瀏覽(24)
  • 往docker中cloudbeaver的容器添加達(dá)夢(mèng)數(shù)據(jù)庫(kù)、impala數(shù)據(jù)庫(kù)連接支持(cloudbeaver添加自定義數(shù)據(jù)連接)

    往docker中cloudbeaver的容器添加達(dá)夢(mèng)數(shù)據(jù)庫(kù)、impala數(shù)據(jù)庫(kù)連接支持(cloudbeaver添加自定義數(shù)據(jù)連接)

    cloudbeaver默認(rèn)沒(méi)有開(kāi)放impala連接,更不會(huì)支持國(guó)產(chǎn)數(shù)據(jù)庫(kù)了 docker安裝運(yùn)行cloudbeaver可以參考文章:docker安裝運(yùn)行CloudBeaver并設(shè)置默認(rèn)語(yǔ)言為中文 本文跳過(guò)cloudbeaver鏡像拉取,直接就開(kāi)始實(shí)現(xiàn)自定義數(shù)據(jù)庫(kù)連接功能 1.1、新建掛載的宿主機(jī)根目錄 掛載的文件都放置該目錄下 1.2、運(yùn)

    2024年01月19日
    瀏覽(56)
  • docker 啟動(dòng) nacos 連接本地?cái)?shù)據(jù)庫(kù) 踩坑

    docker 啟動(dòng) nacos 連接本地?cái)?shù)據(jù)庫(kù) 踩坑

    報(bào)錯(cuò)開(kāi)始行 后面找到一行關(guān)鍵錯(cuò)誤 一般來(lái)講本地?cái)?shù)據(jù)庫(kù)是不會(huì)放開(kāi)遠(yuǎn)程連接的 所以我這邊是新建一個(gè)用戶 并授權(quán) 開(kāi)始遠(yuǎn)程連接 創(chuàng)建nacos用戶 將nacos數(shù)據(jù)管理權(quán)限授權(quán)給nacos 將新配置刷新到緩存中,這樣就不用重啟數(shù)據(jù)庫(kù) 修改配置 application.properties文件 再次啟動(dòng)

    2024年02月11日
    瀏覽(45)
  • docker上部署程序后無(wú)法連接數(shù)據(jù)庫(kù)的問(wèn)題

    docker上部署程序后無(wú)法連接數(shù)據(jù)庫(kù)的問(wèn)題

    咱就是說(shuō),這個(gè)問(wèn)題差點(diǎn)給我勸退docker。下面說(shuō)下環(huán)境情況。 裝了個(gè)javaweb程序容器,裝了個(gè)數(shù)據(jù)庫(kù)容器,javaweb容器就是鏈接不上數(shù)據(jù)庫(kù)。 咱也是跟著菜鳥(niǎo)教程的容器互聯(lián)步驟簡(jiǎn)歷網(wǎng)絡(luò)鏈接: 并且啟動(dòng)時(shí)增加--network=xxx 都加入到了這個(gè)網(wǎng)絡(luò)。 但是?。?!重點(diǎn),但是?。?! 能

    2024年02月08日
    瀏覽(19)
  • 【100天精通python】Day31:使用python操作數(shù)據(jù)庫(kù)_數(shù)據(jù)庫(kù)編程接口,連接對(duì)象和游標(biāo)對(duì)象,數(shù)據(jù)庫(kù)連接配置

    目錄 ?專(zhuān)欄導(dǎo)讀? 一、數(shù)據(jù)庫(kù)編程接口 1. Python標(biāo)準(zhǔn)庫(kù)接口 2. MySQL Connector/Python接口

    2024年02月13日
    瀏覽(26)
  • python連接數(shù)據(jù)庫(kù)

    記錄幾種常見(jiàn)的python連接數(shù)據(jù)庫(kù)的代碼,方便用的時(shí)候直接取。 1.python連接mysql 2.python連接hive 3.python連接德魯伊庫(kù) 4.python連接sqlsever 5.python連接oracle 6.python 連接impala查詢(xún): ????????

    2024年02月12日
    瀏覽(11)
  • Python 連接 MySQL 數(shù)據(jù)庫(kù)

    在實(shí)際數(shù)據(jù)分析和建模過(guò)程中,我們通常需要從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),并將其轉(zhuǎn)化為 Pandas dataframe 對(duì)象進(jìn)行進(jìn)一步處理。而 MySQL 數(shù)據(jù)庫(kù)是最常用的關(guān)系型數(shù)據(jù)庫(kù)之一,因此在 Python 中如何連接 MySQL 數(shù)據(jù)庫(kù)并查詢(xún)數(shù)據(jù)成為了一個(gè)重要的問(wèn)題。 本文將介紹兩種方法來(lái)連接 MySQL 數(shù)據(jù)

    2024年02月16日
    瀏覽(13)
  • Python 連接 PostgreSQL 數(shù)據(jù)庫(kù)

    Python 連接 PostgreSQL 數(shù)據(jù)庫(kù)

    Psycopg 是最受歡迎的用于連接 PostgreSQL 的 Python 驅(qū)動(dòng)庫(kù), Psycopg 完全遵守 Python DB API 2.0 規(guī)范, 并且是線程安全的, 在底層直接調(diào)用 C 庫(kù) libpq 安裝 psycopg2-binary 是預(yù)編譯的包, 自帶 libpq 和 libssl 庫(kù) psycopg2 的命名來(lái)源于 http://psyco.sourceforge.net/, 末尾的 pg 表示 PostgreSQL 簡(jiǎn)單示例 使用

    2024年02月06日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包