CentOS 7下安裝PostgreSQL 9.6的教程分享
前言
PostgreSQL是一個強大開源的對象關(guān)系類型數(shù)據(jù)庫系統(tǒng),它能運行于幾乎所有主要的操作系統(tǒng),包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。對于新的項目我是非常建議使用PostgreSQL。這里就簡單的整理下CentOS下的安裝過程。
CentOS的源中自帶有PostgreSQL,可以通過 yum list | grep postgresql
查看系統(tǒng)自帶的版本,我這邊看到的是9.2版本,個人還是比較建議安裝更新的版本。
安裝
1、安裝 yum 源(地址從 http://yum.postgresql.org/repopackages.php 獲取)
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
這里選擇的是最新的9.6版本,安裝完畢后使用 yum update
更新源信息,然后再使用 yum list | grep postgresql
,是否已經(jīng)有最新版本的postgresql。
[root@localhost ~]# yum list|grep postgresql calligra-kexi-driver-postgresql.x86_64 2.9.10-1.el7 epel collectd-postgresql.x86_64 5.6.0-1.el7 epel freeradius-postgresql.x86_64 3.0.4-6.el7 base libreoffice-postgresql.x86_64 1:4.3.7.2-5.el7_2.1 updates mingw32-postgresql.noarch 9.3.4-2.el7 epel mingw64-postgresql.noarch 9.3.4-2.el7 epel opendbx-postgresql.x86_64 1.4.6-6.el7 epel opensips-postgresql.x86_64 1.10.5-3.el7 epel owncloud-postgresql.noarch 9.0.4-1.el7 epel pcp-pmda-postgresql.x86_64 3.10.6-2.el7 base pdns-backend-postgresql.x86_64 3.4.10-1.el7 epel perdition-postgresql.x86_64 2.1-5.el7 epel postgresql.i686 9.2.15-1.el7_2 updates postgresql.x86_64 9.2.15-1.el7_2 updates postgresql-contrib.x86_64 9.2.15-1.el7_2 updates postgresql-devel.i686 9.2.15-1.el7_2 updates postgresql-devel.x86_64 9.2.15-1.el7_2 updates postgresql-docs.x86_64 9.2.15-1.el7_2 updates postgresql-jdbc.noarch 9.4.1212-1.rhel7 pgdg96 postgresql-jdbc-javadoc.noarch 9.4.1212-1.rhel7 pgdg96 postgresql-libs.i686 9.2.15-1.el7_2 updates postgresql-libs.x86_64 9.2.15-1.el7_2 updates postgresql-odbc.x86_64 09.03.0100-2.el7 base postgresql-pgpool-II.x86_64 3.4.6-1.el7 epel postgresql-pgpool-II-devel.x86_64 3.4.6-1.el7 epel postgresql-pgpool-II-extensions.x86_64 3.4.6-1.el7 epel postgresql-plperl.x86_64 9.2.15-1.el7_2 updates postgresql-plpython.x86_64 9.2.15-1.el7_2 updates postgresql-plruby.x86_64 0.5.3-13.el7 epel postgresql-plruby-doc.x86_64 0.5.3-13.el7 epel postgresql-pltcl.x86_64 9.2.15-1.el7_2 updates postgresql-server.x86_64 9.2.15-1.el7_2 updates postgresql-test.x86_64 9.2.15-1.el7_2 updates postgresql-unit96.x86_64 1.0-1.rhel7 pgdg96 postgresql-unit96-debuginfo.x86_64 1.0-1.rhel7 pgdg96 postgresql-upgrade.x86_64 9.2.15-1.el7_2 updates postgresql96.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-contrib.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-debuginfo.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-devel.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-docs.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-libs.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-odbc.x86_64 09.05.0400-1PGDG.rhel7 pgdg96 postgresql96-plperl.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-plpython.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-pltcl.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-python.x86_64 4.2-1PGDG.rhel7 pgdg96 postgresql96-python-debuginfo.x86_64 4.2-1PGDG.rhel7 pgdg96 postgresql96-server.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-tcl.x86_64 2.1.1-1.rhel7 pgdg96 postgresql96-tcl-debuginfo.x86_64 2.1.1-1.rhel7 pgdg96 postgresql96-test.x86_64 9.6.1-1PGDG.rhel7 pgdg96 proftpd-postgresql.x86_64 1.3.5b-2.el7 epel python-testing.postgresql.noarch 1.1.0-2.el7 epel qt-postgresql.i686 1:4.8.5-12.el7_2 updates qt-postgresql.x86_64 1:4.8.5-12.el7_2 updates qt5-qtbase-postgresql.x86_64 5.6.1-3.el7 epel soci-postgresql.x86_64 3.2.3-1.el7 epel soci-postgresql-devel.x86_64 3.2.3-1.el7 epel
2、安裝PostgreSQL
這里最核心的是要安裝postgresql96-server和postgresql96-contrib,其中”contrib”包里包含了一些常用的組件和方法。
yum install postgresql96-server postgresql96-contrib
安裝后,可執(zhí)行文件在 /usr/pgsql-9.5/bin/, 數(shù)據(jù)和配置文件在 /var/lib/pgsql/9.6/data/
3、初始化數(shù)據(jù)庫
/usr/pgsql-9.6/bin/postgresql96-setup initdb
4、默認(rèn)情況下PostgreSQL不支持密碼登錄,如需支持需要修改配置文件
vi /var/lib/pgsql/9.6/data/pg_hba.conf
將未注釋行中的ident 替換為 md5
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
如需開啟遠(yuǎn)程訪問,可編輯/var/lib/pgsql/9.6/data/postgresql.conf 文件。
將 #listen_addresses = 'localhost'
修改為 listen_addresses='*'
(當(dāng)然,此處‘*'也可以改為任何你想開放的服務(wù)器IP)
另外對于特定的IP還可以設(shè)置開啟信任遠(yuǎn)程連接,修改/var/lib/pgsql/9.6/data/pg_hba.conf,按下面的格式進(jìn)行添加設(shè)置。
# IPv4 local connections: host all all 127.0.0.1/32 trust host all all 8.8.8.8/32(需要連接的服務(wù)器IP) trust
修改完配置以后不要忘了重啟服務(wù)。
5、管理服務(wù),和其他服務(wù)一樣還是用systemd進(jìn)行管理
systemctl start postgresql-9.6 #啟動服務(wù) systemctl restart postgresql-9.6 #重啟服務(wù) systemctl stop postgresql-9.6 #停止服務(wù) systemctl enable postgresql-9.6 #自動啟動
6、登錄PostgreSQL
PostgreSQL 安裝完成后,會建立一下‘postgres'用戶,用于執(zhí)行PostgreSQL,數(shù)據(jù)庫中也會建立一個'postgres'用戶,如果我們要使用PostgreSQL就必須先登錄此帳號。
sudo -i -u postgres
執(zhí)行后提示符會變?yōu)?‘-bash-4.2$',再運行
同構(gòu)執(zhí)行進(jìn)入 psql 進(jìn)入postgresql命令行環(huán)境。
[root@localhost ~]# sudo -i -u postgres -bash-4.2$ psql psql (9.6.1) Type "help" for help. postgres=#
接著可以執(zhí)行 ALTER USER postgres WITH PASSWORD '123456'
來設(shè)置postgres用戶密碼,可通過 \q 退出數(shù)據(jù)庫。
7、打開防火墻
CentOS 防火墻中內(nèi)置了PostgreSQL服務(wù),配置文件位置在/usr/lib/firewalld/services/postgresql.xml,只需以服務(wù)方式將PostgreSQL服務(wù)開放即可。
firewall-cmd --add-service=postgresql --permanent 開放postgresql服務(wù) firewall-cmd --reload 重載防火墻
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
postgresql如何找到表中重復(fù)數(shù)據(jù)的行并刪除
這篇文章主要介紹了postgresql如何找到表中重復(fù)數(shù)據(jù)的行并刪除問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05使用docker compose啟動postgresql的示例代碼
要在啟動 PostgreSQL 容器時執(zhí)行特定的初始化文件,可以使用 Docker 的 docker-entrypoint-initdb.d 目錄,這個目錄下的 SQL 文件會在容器啟動時被自動執(zhí)行,下面是如何修改 Docker Compose 配置文件,以便在啟動時執(zhí)行初始化 SQL 腳本,需要的朋友可以參考下2024-10-10PostgreSQL中實現(xiàn)數(shù)據(jù)實時監(jiān)控和預(yù)警的步驟詳解
在 PostgreSQL 中實現(xiàn)數(shù)據(jù)的實時監(jiān)控和預(yù)警是確保數(shù)據(jù)庫性能和數(shù)據(jù)完整性的關(guān)鍵任務(wù),以下將詳細(xì)討論如何實現(xiàn)此目標(biāo),并提供相應(yīng)的解決方案和具體示例,需要的朋友可以參考下2024-07-07Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧
本文給大家分享在Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧,給大家?guī)砹嗽敿?xì)的安裝步驟,對Postgresql 安裝配置相關(guān)知識感興趣的朋友跟隨小編一起學(xué)習(xí)吧2021-05-05postgresql如何查詢重復(fù)計數(shù)及去重查詢
這篇文章主要介紹了postgresql如何查詢重復(fù)計數(shù)及去重查詢問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11詳解PostgreSQL 實現(xiàn)定時任務(wù)的 4 種方法
這篇文章主要介紹了PostgreSQL 實現(xiàn)定時任務(wù)的 4 種方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02