• PostgreSQL


    PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。

    /usr/local/pgsql/bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432

     drop database admin; # 删除数据库 

    ./bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432

    ./psql -U postgres test < ./zzl.sql  导入

    l 查库   c test 进入test库   d 查表

    d student 查这个张表

     默认postgres,template0和1这3个库是不允许操作的,创建新的数据库执行: CREATE DATABASE test WITH OWNER=postgres ENCODING='UTF-8'; 这样就创建好了数据库test,然后可以执行命令 c test 切换当前数据库为test,然后执行 d 可以查看当前数据库下的所有表:

     创建一个简单的数据表可以执行下面的命令:

    CREATE TABLE student (
      id integer NOT NULL,
      name character(32),
      number char(5),
      CONSTRAINT student_pkey PRIMARY KEY (id)
    );

     现在可以插入一条测试数据: INSERT INTO student (id, name, number) VALUES (1, '张三', '1023'); 

      然后可以查询这条数据: SELECT * FROM student WHERE id=1; 

     备份 

    /usr/local/pgsql/bin

    ./pg_dump -U postgres -t student test > ./test.sql

    g_dump -U postgres(用户名)  (-t 表名)  数据库名(缺省时同用户名)  > 路径/文件名.sql

    pg_dump -U postgres 数据库名 > 路径/文件名.sql

    ./pg_dump -U postgres test > ./test.sql 导出库

    安装postgresql
    yum install postgresql postgresql-server
    mysql占用端口bai3306 pgsql是5432
    2
    导入整个数据du库
    psql -U postgres(用户名zhi) 数据库名(缺省dao时同用户名) < /data/dum.sql
    3
    导出整个数据库
    pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) >/data/dum.sql
    4
    导出某个表
    pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) >/data/dum.sql
    5
    压缩方法
    一般用dump导出数据会比较大,推荐使用xz压缩
    压缩方法 xz dum.sql 会生成 dum.sql.xz 的文件
    6
    xz压缩数据倒数数据库方法
    xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)

    /usr/local/pgsql/bin/initdb -D /data/pgsql_data/

     PostgreSQL是加州大学伯克利分校计算机系开发的对象关系型数据库管理系统,目前拥有活跃的开源社区贡献,最近排名也不断前进,pgsql中其实有很多有点和设计理念都要比mysql更好一些,比如稳定性比较强;高并发读写情况下性能依然较好;支持丰富的几何类型并且在GIS领域地位领先;text支持各种长度,无需区分;nosql特性,支持array和json存储和搜索等,因为这些优点,pgsql应用场景也不断扩展,下面详细写一下pgsql入门的第一步,即先将pgsql安装至操作系统,过程如下:

      1. 下载软件包

      pgsql有很多类型的包,对于不同linux发行版都有对应的编译好的包,安装很方便,另外如果对于通用的linux平台可以编译源码安装或者安装官方编译好的二进制包,源码包的安装仅仅比二进制安装多出一个编译步骤,其余的都一样,所以这里使用安装方式是安装编译好的二进制包

      pgsql官网地址:https://www.postgresql.org/,进入后点击download就来到下载页,这里点击Linux下面的Other Linux选项,然后点击下方的tar.gz archive下载二进制归档,

      

      然后就来到最终的pgsql下载页了,地址为:https://www.enterprisedb.com/download-postgresql-binaries,如下图下载最新版本的10.1

      

      如上图根据机器的位数下载对应的包,我这里下载的是x86-64的包,为:postgresql-10.1-1-linux-x64-binaries.tar.gz,下载之后准备安装

      2. 安装并初始化

      解压数据库并放到指定目录:

    tar -xvzf postgresql-10.1-1-linux-x64-binaries.tar.gz
    # 解压出来之后目录为pgsql
    mv pgsql/ /monchickey/

      现在pgsql的安装目录就是/monchickey/pgsql

      创建pgsql用户并设置密码:

    useradd postgres
    passwd postgres
    # 两次输入密码并确认

      注意:这里设置密码是linux用户postgres的登录密码,不是pgsql服务器的密码

      创建pgsql数据目录: mkdir /monchickey/pgsql_data 

      给postgres用户授权目录访问权限: chown postgres /monchickey/pgsql_data/ 

      然后切换到postgres用户来操作数据库,pgsql数据库就以postgres为默认用户,执行: su - postgres 切换

      切换之后建议修改~/.bash_profile将pgsql的bin目录加至环境变量中,方便直接使用pgsql相关命令,下面初始化数据库:

    /monchickey/pgsql/bin/initdb -D /monchickey/pgsql_data/

      等待执行完毕,没什么问题就初始化成功了,提示如下:

      

      如图根据提示可以启动数据库: /monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ -l logfile start 这里-l指定日志文件位置,这里直接输出在家目录下的logfile中,这个可以自己指定,这里-D指定数据目录,默认如果不加数据目录直接报错找不到,可以刚才说的环境变量配置文件中~/.bash_profile加入一行: export PGDATA=/monchickey/pgsql_data 然后source进去即可,这样pgsql会自动去找PGDATA环境变量值,找不到才会报错

      启动之后此时执行: ps -ef | grep postgres 就可以看到相关进程如下:

      

      pgsql默认的端口号为5432,通过netstat命令或者lsof命令都可以看到监听情况:

      

      现在可以看到pgsql默认监听的是localhost或127.0.0.1,目前只能本机访问,如果远程访问就连接不上了,具体的配置文件是data目录下的postgresql.conf,可以通过修改这个配置文件来调整各个参数,比如:listen_addresses可以修改绑定的地址,默认是localhost,port可以修改监听的端口号,默认是5432,max_connections可以修改最大客户端连接数量,默认是100等等,这里就不再详细说了

      停止postgresql的命令为: /monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ stop 

      3. 命令行界面简单操作

      pgsql和mysql一样可以通过交互式提示符连接操作,连接方式如下:

    ./bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432

      其中-h参数指定服务器地址,默认为127.0.0.1,默认不指定即可,-d指定连接之后选中的数据库,默认也是postgres,-U指定用户,默认是当前用户,-p 指定端口号,默认是"5432",其它更多的参数选项可以执行: ./bin/psql --help 查看

      登录进去默认界面如下所示:

      

      命令提示符前面的就是当前的数据库,使用 l 查看当前的数据库列表

      

      默认postgres,template0和1这3个库是不允许操作的,创建新的数据库执行: CREATE DATABASE test WITH OWNER=postgres ENCODING='UTF-8'; 这样就创建好了数据库test,然后可以执行命令 c test 切换当前数据库为test,然后执行 d 可以查看当前数据库下的所有表:

      

      创建一个简单的数据表可以执行下面的命令:

    CREATE TABLE student (
      id integer NOT NULL,
      name character(32),
      number char(5),
      CONSTRAINT student_pkey PRIMARY KEY (id)
    );

      

      创建表之后可以使用 d student; 查看表的详细信息,如下:

      

      现在可以插入一条测试数据: INSERT INTO student (id, name, number) VALUES (1, '张三', '1023'); 

      然后可以查询这条数据: SELECT * FROM student WHERE id=1; 

      

      最后可以执行 q 退出交互式界面

      上面是一些最基本的操作,可以看出除了一些属性类的操作外,通用的sql语句和mysql几乎完全一样,只是数据类型表达有所不同;对于pgsql的安装和简单的使用就先说这些,另外pgsql还支持更多复杂的查询的操作,这个后续如果有涉及会继续分享;感谢查看,欢迎补充.^_^.

  • 相关阅读:
    J2EE(一)——开发简单WEB服务器
    日报--2015年7月10日
    MVC @Html控件(转载)
    Asp.NET MVC--【Asp.net】
    附加到进程 调试技巧--【VS】
    快速阅读学习方法笔记
    匿名函数和闭包--【JavaScript】
    Repeater显示数据--[Asp.Net]
    FileUpLoad上传文件--[Asp.Net]
    35Canlender--[Asp.Net]
  • 原文地址:https://www.cnblogs.com/zzl0916/p/13845849.html
Copyright © 2020-2023  润新知