วิธีการติดตั้ง pgAdmin 4 ในโหมดเดสก์ท็อปบน Ubuntu


107

วิธีการติดตั้ง pgAdmin 4 ในโหมดเดสก์ท็อป เอกสารคู่มือรายละเอียดโหมดเซิร์ฟเวอร์เท่านั้น


รุ่นนักเทียบท่าแน่ใจว่าเป็นวิธีที่ง่ายและเร็วกว่าในการติดตั้ง PGAdmin4 ฉันใช้เวลามากในการทำแบบเก่าที่อยู่ในไฟล์ readme วิธีการเข้าถึงจากนั้นก็คือในหน้าต่างเบราว์เซอร์ชี้ไปที่ 0.0.0.0:5050 และมันก็เกิดขึ้นจริงดี มันโหลดค่อนข้างเร็ว แต่เมื่อฉันพยายามสร้างเซิร์ฟเวอร์ด้วยมันบอกว่า Postgresql ไม่ทำงาน แต่ใน PGAdmin3 Postgresql ทำงานได้ดี ได้อ่านความคิดเห็นมากมายที่บอกว่าผลิตภัณฑ์ที่ไม่ดีมันเป็นความเสี่ยงของคุณเอง !!!
Gerald Brown


2
pgadmin3 เท่านั้นที่พร้อมใช้งานบน apt (ubuntu 16.04) มีความคิดวิธีการเปิดการร้องขอไปยัง Canonical เพื่อรวม pgadmin4 ในแพ็คเกจ apt หรือไม่? กระบวนการขอให้ "แอพ" รวมอยู่ในการจัดการบรรจุภัณฑ์คืออะไร?
AlikElzin-kilaka

@ AlikElzin-kilaka - ตรวจสอบคำตอบของฉันด้านล่างสำหรับวิธีการที่เหมาะสม
Muhamed Huseinbašić

หากใครก็ตามที่ต้องการ pgAdmin3 คุณสามารถติดตั้งได้โดยใช้แอพพลิเคชั่นซอฟต์แวร์ Ubuntu ที่ติดตั้งบน Ubuntu
Kyle Bridenstine

คำตอบ:


154

สำหรับpgAdmin 4 v4.12บนUbuntuตามหน้าดาวน์โหลด :

ติดตั้งอ้างอิงสร้างสภาพแวดล้อมเสมือนจริงดาวน์โหลดติดตั้งและกำหนดค่า

ใช้ Python2.x

sudo apt-get install virtualenv python-pip libpq-dev python-dev

cd
virtualenv pgadmin4
cd pgadmin4
source bin/activate

pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

ใช้ Python3.6 (ต้องการเพื่อหลีกเลี่ยงการเข้ารหัสปัญหาที่เกี่ยวข้อง)

sudo apt-get install virtualenv python3-pip libpq-dev python3-dev

cd
virtualenv -p python3 pgadmin4
cd pgadmin4
source bin/activate

pip3 install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

กำหนดค่า

แทนที่พา ธ ดีฟอลต์และตั้งค่าเป็นโหมดผู้ใช้เดี่ยวในไฟล์คอนฟิกูเรชันโลคัล :

nano lib/python2.7/site-packages/pgadmin4/config_local.py

สำหรับ Python3.x:

nano lib/python3.6/site-packages/pgadmin4/config_local.py

เขียน:

import os
DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.pgadmin/'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
SERVER_MODE = False

วิ่ง

python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

สำหรับ Python3.x:

python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

เข้าไป

เข้าถึงที่http: // localhost: 5050

ทางออก

ออกด้วย Ctrl-C

ทำงานอีกครั้ง

cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

สำหรับ Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

สร้างทางลัด

touch ~/pgadmin4/pgadmin4
chmod +x ~/pgadmin4/pgadmin4
nano ~/pgadmin4/pgadmin4

เขียน:

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

สำหรับ Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

ตอนนี้คุณสามารถรันมันด้วยคำสั่งที่ง่ายกว่า:

~/pgadmin4/pgadmin4

ผู้ใช้ Python3

แทนที่ [x] ใน Python3.6 ด้วยเวอร์ชันที่เกี่ยวข้องของคุณ

ขัดแย้งกับการกำหนดค่า pgAdmin 3

pgAdmin 4จะไม่เริ่มในสภาพแวดล้อมที่pgAdmin 3เคยติดตั้งและใช้งานมาก่อนเนื่องจากการกำหนดค่าที่เข้ากันไม่ได้ใน.pgadminไดเรกทอรี ทางออกที่ง่ายที่สุดคือการล้างไดเรกทอรีนั้นหรือปรับแต่งconfig_local.pyให้ชี้ไปที่.pgadmin4ไดเรกทอรีใหม่ที่สะอาด


404 ใน wget นั้น
เต่าน่ารัก

5
ฉันต้องการที่จะเพิ่มเพื่อให้ฉันสามารถเรียกใช้ได้อย่างรวดเร็วฉันเพิ่มสิ่งนี้ใน ~ / .bashrc: alias pgadmin = "source ~ / pgadmin4 / bin / เปิดใช้งาน && python ~ / pgadmin4 / lib / python2.7 / site- packages / pgadmin4 / pgAdmin4.py "ด้วยวิธีนี้ฉันก็แค่พิมพ์ pgadmin และมันก็เปิดตัวเหมือนมันควรจะออกนอกกรอบ คุณฟัง pgadmin หรือเปล่า
light24bulbs

1
นี่คือลิงค์ที่ถูกต้องสำหรับ FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/…
Aïssa Ghouti

1
การเชื่อมโยงอย่างหนักไปยังการพึ่งพา python3.6 ในการpython3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.pyถูกลบ / แทนที่? วิธีนี้คำตอบจะเป็นหลักฐานเพิ่มเติมในอนาคต
paul23

1
บน Ubuntu 19.04 ซึ่งมาพร้อมกับ Python 3.7 สลับกันทุกครั้งที่ 3.6 กับ 3.7 ในคำแนะนำ Python 3.x
Karl Richter

49

ตัวเลือกอื่น ๆ คือการใช้นักเทียบท่าและรูปภาพนักเทียบท่าที่ให้บริการโดย thaJeztah - https://github.com/thaJeztah/pgadmin4-docker

$ docker run --rm -p 5050:5050 thajeztah/pgadmin4

จากนั้นในการเข้าถึงอินสแตนซ์ PostgreSQL DB จากภายใน pgadmin4 คุณควรใช้ IP ของโฮสต์แทน localhost และ 127.0.0.1 เนื่องจากนักเทียบท่าจะจับคู่ข้อมูลเหล่านั้นกับคอนเทนเนอร์

IP ของอินสแตนซ์ฐานข้อมูล dockerised สามารถพบได้ 2 ขั้นตอน

  • ค้นหา ID คอนเทนเนอร์ของ db ของคุณด้วย:

    docker ps

  • ตรวจสอบ container_name เพื่อค้นหา ip ด้วย:

    docker inspect <ID from previous step>

คุณกำลังมองหาบางอย่างเช่น "IPAddress": "172.18.0.3"


1
คุณจะทำให้มันเห็น postgres ที่ dockerized ได้อย่างไร? localhost / 127.0.0.1 / รหัสคอนเทนเนอร์ไม่ทำงานสำหรับฉัน
ampofila

1
เราสามารถตั้งค่า IP static ได้หรือไม่เราไม่จำเป็นต้องอัพเดทแอปพลิเคชันของเราให้ชี้ไปที่ IP docker container ใหม่ทุกครั้งที่เรารีสตาร์ท
Nam G VU

นิสัยดีเพิ่มทางลัดแอปพลิเคชั่นโครเมียมและมันก็เหมือนกับการมีแอปพลิเคชั่นตัวจริงกลับมา
chrismarx

วิธีอื่นในการเชื่อมต่อฐานข้อมูลโฮสต์: stackoverflow.com/questions/24319662/…
qmn1711

46

บน Ubuntu 16.04 คุณสามารถติดตั้งpgadmin4กับ

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add 
sudo apt update
sudo apt install pgadmin4

ฉันได้ทดสอบสิ่งนี้เมื่อวันที่ 16.04

แหล่งที่มาสำหรับแนวทางข้างต้น


ตกลงอีกสิ่งหนึ่งที่ฉันต้องการทราบว่าฉันจะเริ่มถ้าฉันติดตั้งบนเซิร์ฟเวอร์
Akhilendra

1
สำหรับ distros ที่ใช้ Ubuntu เช่น Mint คุณอาจต้องการแทนที่$(lsb_release -cs)ด้วย Ubuntu เวอร์ชันที่ใช้ ตัวอย่างเช่น Mint Sarah (รุ่น 18) ขึ้นอยู่กับ Xenial และมีลักษณะดังนี้:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
รวม

2
ดูเหมือนว่าเป็นทางออกที่ดีที่สุดอย่างน้อยสำหรับ Ubuntu + 16.xx ขอบคุณมาก!
Louisb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.