国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - PostgreSQL - PostgreSQL安裝、配置及簡單使用方法

PostgreSQL安裝、配置及簡單使用方法

2020-04-29 15:21PostgreSQL教程網 PostgreSQL

這篇文章主要介紹了PostgreSQL安裝及簡單使用方法,需要的朋友可以參考下

PostgreSQL安裝、配置及簡單使用方法

一、PostgreSQL簡介

1、什么是PostgreSQL

PostgreSQL數據庫是目前功能最強大的開源數據庫,支持豐富的數據類型(如JSON何JSONB類型,數組類型)和自定義類型。而且它提供了豐富的接口,可以很容易地擴展它的功能,如可以在GiST框架下實現自己的索引類型等,它還支持使用C語言寫自定義函數、觸發器,也支持使用流行的語言寫自定義函數,比如其中的PL/Perl提供了使用Perl語言寫自定義函數的功能,當然還有PL/Python、PL/Tcl,等等。

2、PostgreSQL數據庫的優勢

PostgreSQL數據庫是目前功能最強大的開源數據庫,它是最接近工業標準SQL92的查詢語言,并且正在實現新的功能已兼容最新的SQL標準:SQL2003.

穩定可靠:PostgreSQL是唯一能做到數據零丟失的開源數據庫。有報道稱國外的部分銀行也在使用PostgreSQL。

開源省錢:PostgreSQL數據庫是開源的、免費的,而且是BSD協議,在使用和二次開發上基本沒有限制。

支持廣泛:PostgreSQL數據庫支持大量的主流開發語言,包括C、C++、Perl、Python、Java、Tcl,和PHP等。

PostgreSQL社區活躍:PostgreSQL基本上每三個月推出一個補丁版本,這意味著已知的BUG很快會被修復,有應用場景的需求也會及時得到響應。


二、PostgreSQL安裝與配置

#安裝前準備:

1、系統版本

?
1
2
[root@node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

2、yum安裝(在官網上找到對應版本的yum源,之后安裝到本地。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[root@node1 ~]# yum -y install pgdg-centos96-9.6-3.noarch.rpm #yum源安裝
[root@node1 ~]# yum -y install postgresql-server #安裝postgreesql
#安裝生成的文件
[root@node1 ~]# rpm -ql postgresql-server
/etc/pam.d/postgresql
/usr/bin/initdb
/usr/bin/pg_basebackup
/usr/bin/pg_controldata
/usr/bin/pg_ctl
/usr/bin/pg_receivexlog
/usr/bin/pg_resetxlog
/usr/bin/postgres
/usr/bin/postgresql-check-db-dir
/usr/bin/postgresql-setup
/usr/bin/postmaster
/usr/lib/systemd/system/postgresql.service
/usr/lib/tmpfiles.d/postgresql.conf
/var/lib/pgsql
/var/lib/pgsql/.bash_profile
/var/lib/pgsql/backups
/var/lib/pgsql/data
/var/run/postgresql、
#啟動postgresql
#直接啟動會報錯:
[root@node1 ~]# systemctl start postgresql.service
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.
#上面是提示數據庫還沒有初始化,所以我們先初始化一下
postgresql-setup initdb
Initializing database ... OK #提示初始化成功
#重新啟動Postgresql
[root@node1 ~]# systemctl start postgresql.service
[root@node1 ~]# netstat -tnlp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp  0  0 127.0.0.1:5432  0.0.0.0:*  LISTEN  1512/postgres 
tcp6  0  0 ::1:5432    :::*  LISTEN  1512/postgres
#查看運行狀態
[root@node1 ~]# systemctl status postgresql.service
● postgresql.service - PostgreSQL database server
 Active: active (running) since Sat 2016-11-26 22:49:07 CST; 1min 33s ago
#切換到操作系統下的“postgres”用戶,登錄數據庫
[root@node1 ~]# su - postgres
-bash-4.2$ psql
psql (9.2.15)
Type "help" for help.
postgres=# help
You are using psql, the command-line interface to PostgreSQL.
Type: \copyright for distribution terms
  \h for help with SQL commands
  \? for help with psql commands
  \g or terminate with semicolon to execute query
  \q to quit
#到此為止,基本安裝已經完成。

3、源碼安裝

#首先到官方網站下載源代碼(https://www.postgresql.org/ftp/source/)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#開始編譯安裝
[root@node1 soft]# tar xf postgresql-9.6.1.tar.bz2
[root@node1 soft]# cd postgresql-9.6.1
# yum -y groupinstall "Development tools" #開發包組
# yum -y install perl-ExtUtils-Embed readline-devel zlib-devel python-devel #依賴包
# ./configure --prefix=/usr/local/postgresql-9.6.1 --with-perl --with-python --with-blocksize=32 --with-wal-blocksize=64 --with-wal-segsize=64
# make && make install
#安裝后的配置
[root@node1 postgresql-9.6.1]# cat /etc/profile.d/postgresql.sh
export PATH=$PATH:/usr/local/pgsql/bin
export PGDATA=/data/pgdata
[root@node1 postgresql-9.6.1]# source /etc/profile.d/postgresql.sh
[root@node1 postgresql-9.6.1]# echo "/usr/local/pgsql/lib" > /etc/ld.so.conf.d/pgsql.conf
[root@node1 postgresql-9.6.1]# ldconfig
#創建數據庫目錄并初始化數據庫
[root@node1 postgresql-9.6.1]# mkdir /data/pgdata/
[root@node1 postgresql-9.6.1]# chown -R postgres.postgres /data/pgdata/
[root@node1 postgresql-9.6.1]# su - postgres
-bash-4.2$ initdb
The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
fixing permissions on existing directory /data/pgdata ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
Success. You can now start the database server using:
 pg_ctl -D /data/pgdata -l logfile start
#安裝contrib目錄下的工具
# cd postgresql-9.6.1/contrib/
# make
# make install
#啟動和停止數據庫
# pg_ctl start -D $PGDATA #PGDATA是pgsql的數據目錄
# pg_ctl stop -D $PGDATA [-m SHUTDOWN-MODE]
其中-m是制定數據庫的停止方法,有以下三種
smart:等所有的連接中止后,關閉數據庫。如果客戶端不中止,則無法關閉數據庫。
fast:快速關閉數據庫,斷開客戶端的連接,讓已有的事務回滾,然后正常關閉數據庫。
immediate:立即關閉數據庫,相當于數據庫進程立即停止,直接退出,下次啟動數據庫需要進行修復。

4、PostgreSQL的簡單配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
在數據目錄下編輯postgresql.conf文件,找到如下內容:
#listen_addresses = 'localhost'   # what IP address(es) to listen on;
#port = 5432       # (change requires restart)
listen_addresses表示要監聽的地址,要讓網絡上的主機登錄這臺數據庫,需要把這個地址改成"*",或者0.0.0.0。
port表示監聽的端口,可以不更改,修改這兩個參數后,需要重啟才能生效。
#與數據庫Log相關的參數
logging_collector = on #日志的收集,on表示打開
log_directory = 'pg_log' #定義日志的收集目錄
日志的切換和是否選擇覆蓋則可以使用如下幾種方案
方案一:每天生產一個新的日志文件
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0
方案二:每當日志寫滿一定的大小(如10MB空間),則切換一個日志
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 0
log_rotation_size = 10M
方案三:只保留7天的日志,進行循環覆蓋
log_filename = ‘postgresql-%a.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0

5、內存參數的設置

shared_buffers:共享內存的大小,主要用于共享數據塊。

#shared_buffers默認值為32MB,如果有足夠的內存,可以把這個參數改得大一些,這樣數據庫就可以緩存更多的數據庫,當讀取數據時,就可以從共享內存中讀,而不需要再從文件上去讀取。

work_mem:單個SQL執行時,排序、hash join所使用的內存,SQL運行完后,內存就釋放了,把這個值設大一些,會讓排序操作快一些。


三、SQL語法入門

1、SQL語句語法簡介

(1)、語句的分類(SQL命令一般分為DDL、DML、DQL幾類)

DDL:Data Definition Language的縮寫,即數據定義語言,主要用于創建、刪除,以及修改表、索引等數據庫對象語言。

DML:Data Manipulation Language的簡稱,即數據操縱語言,主要用于插入、更新、刪除數據,所以也分為INSERT、UPDATE、DELETE三種語句。

DQL:數據庫查詢語句,基本及時SELECT查詢命令,用于數據查詢。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产精品久久久91 | 日本在线黄色 | 波多野吉衣网站 | 久久免费福利视频 | 国内成人自拍视频 | 99久久视频 | 精品伦精品一区二区三区视频 | 亚洲国产二区 | 99精品欧美一区二区三区综合在线 | 日韩在线精品视频 | 欧美日韩在线免费观看 | 中文字幕亚洲欧美 | 色日韩 | 在线a视频网站 | 三级在线观看网站 | 久久综合久久综合久久 | 精品无人乱码一区二区三区的优势 | 99亚洲 | 成人欧美一区二区三区色青冈 | 久久69精品久久久久久久电影好 | 精品久久久久国产 | 理论电影在线 | 精品一区二区久久久久久久网站 | 亚洲a网| 一级黄色免费网站 | 中文字幕1区 | 午夜视频在线观看网站 | 成人免费视频视频在线观看 免费 | 亚洲品质自拍视频网站 | 午夜精品久久久久久久久久久久 | 综合五月网 | 国产麻豆精品 | 日韩精品一二三区 | 国产特级毛片aaaaaa高清 | 色爱综合网 | 欧美一区二区三区 | 国产一区二区在线免费观看 | 密臀av| 久久亚洲网 | 国产精品视频一区二区三区不卡 | 一级毛片免费看 |