PostgreSQL安裝和基本使用(一)

1.postgreSQL介紹:

   PostgreSQL是一個功能強大的開源對象關係數據庫系統,它使用並擴展了SQL語言,並結合了許多安全存儲和擴展最複雜數據工作負載的功能。

2.postgreSQL特點:

   免費,開源,高度可擴展性。數據完整性,併發性,可靠性,災難恢復。安全。

3.postgreSQL安裝:

   系統環境 ; Ubuntu16.04  LTS

   

   使用源碼編譯安裝postgreSQL:

     下載postgreSQL:
     # wget --no-cookies --no-check-certificate  https://ftp.postgresql.org/pub/source/v9.5.14/postgresql-9.5.14.tar.gz
     
     創建安裝的目錄:
     # mkdir /data/{services,packages,untar} -p
     
     安裝依賴包:
     # apt-get install -y libreadline6-dev  libxslt-dev zlib1g-dev systemtap-sdt-dev libxml2-dev
     
     解壓軟件包:
     # tar -zxvf postgresql-9.5.14.tar.gz -C /data/untar/
     # cd /data/untar/postgresql-9.5.14/
     # ./configure --prefix=/data/services/postgresql9 \ 
        --datarootdir=/data/services/postgresql9/postdata  \  
        --with-pgport=5432    --with-python  --with-libxml  \
        --with-libxslt --without-ldap --enable-thread-safety --enable-dtrace
     # make && make install   //編譯並安裝
     
     安裝完成後的提示: PostgreSQL installation complete.

      設置postgresql共享庫搜索路徑:

    方法1: 定義LD_LIBRARY_PATH的變量。
        # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/services/postgresql9/lib

    方法2: 添加到共享庫文件:
        # cat /etc/ld.so.conf.d/postgresql.conf 
        /data/services/postgresql9/lib

        #ldconfig   //立即生效

       庫文件在鏈接(靜態庫和共享庫)和運行(僅限於使用共享庫的程序)時被使用,其搜索路徑是在系統中進行設置的。一般 Linux 系統把 /lib 和 /usr/lib 兩個目錄作爲默認的庫搜索路徑。ldconfig命令的作用就是將 /etc/ld.so.conf.d/*.conf 列出的路徑下的庫文件緩存到 /etc/ld.so.cache 以供使用。

  linux系統添加共享庫詳解: https://blog.csdn.net/lu_embedded/article/details/56675653

  查看共享庫:

   查看已加載共享庫.PNG 


  設置環境變量:

    # echo "export PATH=$PATH:/data/services/postgresql9/bin" >> /etc/profile      
    # source /etc/profile      //立即生效。


  創建postgres賬戶並設置密碼:

    # useradd  -d  /data/services/postgresql9/ -M  postgres
    # echo -e  "123456\n123456" | passwd postgres
    更改屬主和屬組:
    # chown -R postgres.postgres /data/services/postgresql9/

 創建數據目錄和初始化數據目錄:

    # mkdir /data/services/postgresql9/data
    # su - postgres
    $ bin/initdb -D /data/services/postgresql9/data/

      data1.PNG 

    修改配置文件:
       # grep -Ev '^[ ]*$|^#' /data/services/postgresql9/data/postgresql.conf
         data_directory = '/data/services/postgresql9/data'     #數據庫安裝路徑,用於數據存儲的目錄
         hba_file = '/data/services/postgresql9/data/pg_hba.conf'    #基於主機的身份驗證文件  
         ident_file = '/data/services/postgresql9/data/pg_ident.conf'   #用戶名稱映射的配置文件 
         external_pid_file = '/data/services/postgresql9/postgresql.pid'  #用於管理程序的額外進程pid文件
         listen_addresses = '*'        #指定服務器在哪些 TCP/IP 地址上監聽客戶端連接
         port = 5432                   #監聽數據庫的TCP端口
         max_connections = 100         #最大連接數。
         unix_socket_directories = '/tmp'   #監聽來自客戶端連接的unix域的套接字目錄
         shared_buffers = 128MB	         #設置數據庫服務器將使用的共享內存緩衝區量,默認值。
         dynamic_shared_memory_type = posix    #指定服務器使用shm_open分配的 POSIX 共享內存。
         log_line_prefix = '%t [%p-%l] %q%u@%d'    # 設置日誌輸出格式。 
         log_timezone = 'PRC'           #設置數據庫日誌文件在寫日誌文件時使用的時區   
         datestyle = 'iso, ymd'         #日期風格,年月日
         timezone = 'PRC'               #設置服務端和客戶端時區。
         lc_messages = 'en_US.UTF-8'    #系統錯誤消息的語言。
         lc_monetary = 'zh_CN.UTF-8'    #設置貨幣值的顯示格式的語言
         lc_numeric = 'zh_CN.UTF-8'     #設置用於格式化數字的語言。
         lc_time = 'zh_CN.UTF-8'        #設置用於格式化時間日期的語言。
         default_text_search_config = 'pg_catalog.english'    #選擇文本搜索功能所使用的文本搜索配置。

     設置ubuntu16.04下系統的語言和編碼設置:

    # apt-get install -y language-pack-zh-hant language-pack-zh-hans language-selector-gnome 
    # dpkg-reconfigure locales   選擇zh_CN.UTF-8和en_US.UTF-8編碼。
    
    編碼配置文件: /var/lib/locales/supported.d/ 該文件下有三個文件: en  zh-hans  zh-hant
      #dpkg-reconfigure --force locales   強制更新,使設置生效。

              image.png

     啓動服務:

      $ bin/pg_ctl -D /data/services/postgresql9/data/ -l logfile start
      或者:
      $ ./bin/postmaster -D /data/services/postgresql9/data > logfile 2>&1 &

 

2. 連接postgresSQL:

  $ ./bin/psql

     查看客戶端字符編碼:

           image.png

     查看服務端字符編碼:

    image.png


 PostgreSQL的控制檯命令:

  \h : 查看SQL命令解釋。
  \? : 查看psql命令列表。
  \i sqlfile : 調用後綴爲sql的文件並輸出。
  \l : 列出所有數據庫。
  \c [databasename] : 連接其他數據庫。
  \d : 列出當前數據庫的所有表.
  \d [tablename] : 列出表結構。
  \d+ [tablename] : 查看錶基本情況。
  \du : 列出所有用戶。
  \e : 打開文本編輯器。
  \conninfo : 列出當前數據庫和連接的信息。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章