欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ubuntu中安裝PostgreSQL步驟及常規(guī)操作指南

 更新時(shí)間:2025年09月18日 11:56:07   作者:行星008  
PostgreSQL是一款很受歡迎的開源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),擴(kuò)展性強(qiáng),處理大量數(shù)據(jù)時(shí)效率很高,這篇文章主要介紹了Ubuntu中安裝PostgreSQL步驟及常規(guī)操作的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、安裝 PostgreSQL

最新版本安裝(推薦)

# 添加官方源并安裝
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql postgresql-contrib

安裝特定版本(如 14)

sudo apt install postgresql-14 postgresql-client-14

二、基本服務(wù)管理

命令說明
sudo service postgresql start啟動(dòng)服務(wù)
sudo service postgresql stop停止服務(wù)
sudo service postgresql restart重啟服務(wù)
sudo service postgresql status查看狀態(tài)
sudo systemctl enable postgresql設(shè)置開機(jī)自啟

三、連接數(shù)據(jù)庫(kù)

# 切換到 postgres 系統(tǒng)用戶
sudo -i -u postgres

# 連接默認(rèn)數(shù)據(jù)庫(kù)
psql  # 或指定數(shù)據(jù)庫(kù): psql mydb

# 直接連接(無需切換用戶)
sudo -u postgres psql

四、常規(guī)數(shù)據(jù)庫(kù)操作

1. 用戶與權(quán)限管理

-- 創(chuàng)建用戶
CREATE USER devuser WITH PASSWORD 'securepass';

-- 修改密碼
ALTER USER devuser PASSWORD 'newpass';

-- 授予數(shù)據(jù)庫(kù)權(quán)限
GRANT ALL PRIVILEGES ON DATABASE mydb TO devuser;

-- 刪除用戶
DROP USER IF EXISTS olduser;

2. 數(shù)據(jù)庫(kù)管理

-- 創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE mydb OWNER devuser ENCODING 'UTF8';

-- 列出所有數(shù)據(jù)庫(kù)
\l

-- 切換數(shù)據(jù)庫(kù)
\c mydb

-- 刪除數(shù)據(jù)庫(kù)
DROP DATABASE olddb;

3. 表操作

-- 創(chuàng)建表
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 查看所有表
\dt

-- 查看表結(jié)構(gòu)
\d users

-- 刪除表
DROP TABLE users;

4. 數(shù)據(jù)操作

-- 插入數(shù)據(jù)
INSERT INTO users (name, email) 
VALUES ('Alice', 'alice@example.com');

-- 查詢數(shù)據(jù)
SELECT * FROM users WHERE name LIKE 'A%';

-- 更新數(shù)據(jù)
UPDATE users SET email = 'new@example.com' WHERE id = 1;

-- 刪除數(shù)據(jù)
DELETE FROM users WHERE id = 1;

五、常用 psql 元命令

命令說明
\?查看幫助
\l列出數(shù)據(jù)庫(kù)
\c dbname切換數(shù)據(jù)庫(kù)
\dt列出表
\d table查看表結(jié)構(gòu)
\du列出用戶
\x切換擴(kuò)展顯示模式
\timing開啟/關(guān)閉執(zhí)行時(shí)間
\q退出 psql
\i filename.sql執(zhí)行 SQL 文件
\e在編輯器中編輯命令
\conninfo顯示連接信息

六、備份與恢復(fù)

1. 使用 pg_dump

# 備份單個(gè)數(shù)據(jù)庫(kù)
sudo -u postgres pg_dump mydb > mydb_backup.sql

# 備份所有數(shù)據(jù)庫(kù)
sudo -u postgres pg_dumpall > all_backup.sql

# 壓縮備份
sudo -u postgres pg_dump mydb | gzip > mydb_backup.gz

2. 恢復(fù)數(shù)據(jù)庫(kù)

# 恢復(fù) SQL 備份
sudo -u postgres psql -d mydb -f mydb_backup.sql

# 恢復(fù)壓縮備份
gunzip -c mydb_backup.gz | sudo -u postgres psql mydb

七、配置遠(yuǎn)程訪問

  1. 修改配置文件:

    sudo nano /etc/postgresql/14/main/postgresql.conf
    

    取消注釋并修改:

    listen_addresses = '*'
    
  2. 編輯訪問規(guī)則:

    sudo nano /etc/postgresql/14/main/pg_hba.conf
    

    添加行:

    host    all             all             0.0.0.0/0               md5
    
  3. 重啟服務(wù):

    sudo service postgresql restart
    

八、性能監(jiān)控

-- 查看活動(dòng)連接
SELECT * FROM pg_stat_activity;

-- 查看鎖信息
SELECT * FROM pg_locks;

-- 查看表大小
SELECT pg_size_pretty(pg_total_relation_size('users'));

-- 查看索引使用情況
SELECT * FROM pg_stat_user_indexes;

九、擴(kuò)展管理

-- 安裝擴(kuò)展(如 PostGIS)
CREATE EXTENSION postgis;

-- 查看已安裝擴(kuò)展
\dx

-- 卸載擴(kuò)展
DROP EXTENSION postgis;

十、日志管理

# 查看錯(cuò)誤日志位置
sudo -u postgres psql -c "SHOW log_directory;"

# 常用日志配置 (/etc/postgresql/14/main/postgresql.conf)
log_destination = 'stderr'
logging_collector = on
log_line_prefix = '%m [%p] %q%u@%d '
log_statement = 'all'  # 記錄所有SQL

十一、版本升級(jí)

# 安裝新版本(如 15)
sudo apt install postgresql-15

# 停止服務(wù)
sudo service postgresql stop

# 升級(jí)數(shù)據(jù)
sudo pg_upgradecluster 14 main 15

# 刪除舊版本(確認(rèn)新版本正常后)
sudo pg_dropcluster 14 main

常用管理工具推薦

  1. pgAdmin (GUI):
    sudo apt install pgadmin4
    
  2. 命令行工具:
    sudo apt install postgresql-client-14
    

連接示例

# 本地連接
psql -U devuser -d mydb

# 遠(yuǎn)程連接
psql -h 192.168.1.10 -p 5432 -U devuser -d mydb

提示:生產(chǎn)環(huán)境建議:

  1. 定期備份 (cron + pg_dump)
  2. 啟用 WAL 歸檔
  3. 配置定期 vacuum
  4. 使用連接池 (pgBouncer)

總結(jié) 

到此這篇關(guān)于Ubuntu中安裝PostgreSQL步驟及常規(guī)操作指南的文章就介紹到這了,更多相關(guān)Ubuntu安裝PostgreSQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • postgreSQL如何設(shè)置數(shù)據(jù)庫(kù)執(zhí)行超時(shí)時(shí)間

    postgreSQL如何設(shè)置數(shù)據(jù)庫(kù)執(zhí)行超時(shí)時(shí)間

    本文我們將深入探討PostgreSQL數(shù)據(jù)庫(kù)中的一個(gè)關(guān)鍵設(shè)置SET?statement_timeout,這個(gè)設(shè)置對(duì)于管理數(shù)據(jù)庫(kù)性能和優(yōu)化查詢執(zhí)行時(shí)間非常重要,讓我們一起來了解它的工作原理以及如何有效地使用它
    2024-01-01
  • postgresql減少wal日志生成量的操作

    postgresql減少wal日志生成量的操作

    這篇文章主要介紹了postgresql減少wal日志生成量的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL中實(shí)現(xiàn)自增的三種方式舉例

    PostgreSQL中實(shí)現(xiàn)自增的三種方式舉例

    很多小伙伴在把mysql數(shù)據(jù)庫(kù)里面的表導(dǎo)入pgsql數(shù)據(jù)庫(kù)的時(shí)候,會(huì)遇到新增數(shù)據(jù)的時(shí)候id不自增,這篇文章主要給大家介紹了關(guān)于PostgreSQL中實(shí)現(xiàn)自增的三種方式,需要的朋友可以參考下
    2024-02-02
  • postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作詳解

    postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作詳解

    這篇文章主要為大家詳細(xì)介紹了postgresql實(shí)現(xiàn)對(duì)已有數(shù)據(jù)表分區(qū)處理的操作的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • postgresql 導(dǎo)出建表語句的命令操作

    postgresql 導(dǎo)出建表語句的命令操作

    這篇文章主要介紹了postgresql 導(dǎo)出建表語句的命令操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL教程(十四):數(shù)據(jù)庫(kù)維護(hù)

    PostgreSQL教程(十四):數(shù)據(jù)庫(kù)維護(hù)

    這篇文章主要介紹了PostgreSQL教程(十四):數(shù)據(jù)庫(kù)維護(hù),本文講解了恢復(fù)磁盤空間、更新規(guī)劃器統(tǒng)計(jì)、VACUUM和ANALYZE的示例、定期重建索引等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • PostgreSQL使用IP無法連接的解決方法

    PostgreSQL使用IP無法連接的解決方法

    這篇文章主要介紹了PostgreSQL使用localhost可以連接/使用IP無法連接的問題解決,需要的朋友可以參考下
    2018-01-01
  • postgresql的jsonb數(shù)據(jù)查詢和修改的方法

    postgresql的jsonb數(shù)據(jù)查詢和修改的方法

    這篇文章主要介紹了postgresql的jsonb數(shù)據(jù)查詢和修改的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • postgresql分頁數(shù)據(jù)重復(fù)問題的深入理解

    postgresql分頁數(shù)據(jù)重復(fù)問題的深入理解

    這篇文章主要給大家介紹了關(guān)于postgresql分頁數(shù)據(jù)重復(fù)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用postgresql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • PostgreSQL自定義函數(shù)并且調(diào)用方式

    PostgreSQL自定義函數(shù)并且調(diào)用方式

    這篇文章主要介紹了PostgreSQL如何自定義函數(shù)并且調(diào)用,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論