1. 程式人生 > >Centos7.x安裝postgreSQL與使用uuid擴充套件

Centos7.x安裝postgreSQL與使用uuid擴充套件

大神安裝連結

安裝教程:
https://www.cnblogs.com/stulzq/p/7766409.html

新建使用者並建立資料庫並賦予許可權
https://blog.csdn.net/zhangzeyuaaa/article/details/77941039

安裝過程:

使用yum命令來安裝

1.檢視postgresql的源

yum list | grep postgresql

sungang

2.選擇postgresql10-contrib(外掛庫)和postgresql10-server(資料庫)

yum install postgresql10-contrib postgresql10-server -y

3.驗真是否安裝成功

rpm -aq| grep postgres

4.初始化資料庫

/usr/pgsql-10/bin/postgresql-10-setup initdb

5.配置資料庫開機自啟

systemctl enable postgresql-10

systemctl start postgresql-10

6.配置防火牆

(見我上之前的部落格)

7.修改使用者密碼

su - postgres  切換使用者,執行後提示符會變為 '-bash-4.2$'  

  psql -U postgres 登入資料庫,執行後提示符變為 'postgres=#'    

ALTER USER postgres WITH PASSWORD 'postgres'  設定postgres使用者密碼為postgres    

\q  退出資料庫

8.配置遠端訪問

a.開啟遠端訪問

vim /var/lib/pgsql/10/data/postgresql.conf

修改#listen_addresses = 'localhost' 為 listen_addresses='*' 當然,

此處‘*’也可以改為任何你想開放的伺服器IP

b.信任遠端訪問

vi m/var/lib/pgsql/10/data/pg_hba.conf    

修改如下內容,信任指定伺服器連線  

  # IPv4 local connections:  

  host    all            all      127.0.0.1/32      trust  

  host    all            all      192.168.157.1/32(需要連線的伺服器IP)  trust

  host    all             all             0.0.0.0/0                  trust

其中0.0.0.0/0表示執行任意ip地址訪問。

若設定為 192.168.1.0/24 則表示允許來自ip為192.168.1.0 ~ 192.168.1.255之間的訪問。

9.重啟資料庫

systemctl restart postgresql-10

資料庫的資料儲存目錄在 /var/lib/pgsql/10/data  下

資料庫安裝目錄在  /usr/pgsql-10 下

外掛使用:

大部分外掛已經被封裝在contrib裡,安裝時會一起被安裝

檢視外掛位置  /usr/pgsql-10/lib  

1.uuid

開啟外掛
create extension if not exists "uuid-ossp";
select uuid_generate_v1();

驗證一下

資料庫使用

在windows的dos視窗連線資料庫, 預設的使用者和資料庫是postgres
psql -U user -d dbname


\du
檢視使用者

切換資料庫,相當於mysql的use dbname
\c dbname
列舉資料庫,相當於mysql的show databases
\l
列舉表,相當於mysql的show tables
\dt
查看錶結構,相當於desc tblname,show columns from tbname
\d tblname

\di 檢視索引 

建立資料庫: 
create database [資料庫名]; 
刪除資料庫: 
drop database [資料庫名];  
*重新命名一個表: 
alter table [表名A] rename to [表名B]; 
*刪除一個表: 
drop table [表名]; 

*在已有的表裡新增欄位: 
alter table [表名] add column [欄位名] [型別]; 

刪除表中的欄位: 

alter table [表名] drop column [欄位名]; 

修改資料庫列屬性

alter table 表名 alter 列名 type 型別名(350)

重新命名一個欄位:  
alter table [表名] rename column [欄位名A] to [欄位名B]; 
*給一個欄位設定預設值:  
alter table [表名] alter column [欄位名] set default [新的預設值];
*去除預設值:  
alter table [表名] alter column [欄位名] drop default; 
在表中插入資料: 
insert into 表名 ([欄位名m],[欄位名n],......) values ([列m的值],[列n的值],......); 
修改表中的某行某列的資料: 
update [表名] set [目標欄位名]=[目標值] where [該行特徵]; 
刪除表中某行資料: 
delete from [表名] where [該行特徵]; 
delete from [表名];--刪空整個表 
建立表: 
create table ([欄位名1] [型別1] ;,[欄位名2] [型別2],......<,primary key (欄位名m,欄位名n,...)>;); 

\copyright     顯示 PostgreSQL 的使用和發行條款
\encoding [字元編碼名稱]
                 顯示或設定使用者端字元編碼
\h [名稱]      SQL 命令語法上的說明,用 * 顯示全部命令
\prompt [文字] 名稱
                 提示使用者設定內部變數
\password [USERNAME]
                 securely change the password for a user
\q             退出 psql

 

可以使用pg_dump和pg_dumpall來完成。比如備份sales資料庫: 
pg_dump drupal>/opt/Postgresql/backup/1.bak 

下面兩點,本人覺得比較重要:

PostgreSQL對錶名、欄位名都是區分大小寫的。在圖形化介面可以正常新建。用SQL語句的時候需要加雙引號,如果jdbc查詢等處,記得使用轉義符號。
PostgreSQL在SQL語句中對大小寫是不敏感的    例如    select ID from t_user  和 select id from t_user     都會從t_user這個表中查詢id這個欄位。如果要查詢大寫字母的欄位,同樣要加上雙引號:select "ID" from t_user