千家信息网

PostgreSQL安装和基本使用(一)

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,1.postgreSQL介绍:PostgreSQL是一个功能强大的开源对象关系数据库系统,它使用并扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。2.postgreSQL特点:免
千家信息网最后更新 2024年09月22日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

查看共享库:



设置环境变量:

    # 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/

    修改配置文件:       # 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   强制更新,使设置生效。

启动服务:

      $ 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

查看客户端字符编码:

查看服务端字符编码:


PostgreSQL的控制台命令:

  \h : 查看SQL命令解释。  \? : 查看psql命令列表。  \i sqlfile : 调用后缀为sql的文件并输出。  \l : 列出所有数据库。  \c [databasename] : 连接其他数据库。  \d : 列出当前数据库的所有表.  \d [tablename] : 列出表结构。  \d+ [tablename] : 查看表基本情况。  \du : 列出所有用户。  \e : 打开文本编辑器。  \conninfo : 列出当前数据库和连接的信息。



0