美文网首页
PostgreSQL 环境搭建、基本用法、数据库连接

PostgreSQL 环境搭建、基本用法、数据库连接

作者: Jayson_ | 来源:发表于2018-10-19 18:18 被阅读0次

    环境:Ubuntu16.04
    安装
    Ubuntu默认集成了pg,可以通过命令行直接安装
    以下命令分别安装pg的客户端和服务端 :

    $ sudo apt-get install postgresql-client
    $ sudo apt-get install postgresql
    

    安装完成后,通过以下命令即可启动pg

    $ sudo service postgresql start
    

    相应的,只要将这里的start改为stop和restart,就可以实现服务的停止和重启。

    创建数据库
    在初次安装完成后,pg默认已经进行了如下的操作:创建了一个名为postgres的数据库用户和一个名为postgres的数据库,同时还创建了一个名为postgres的Linux系统用户。实际上,这里创建的postgres数据库用户拥有超级管理员身份,可以访问我们后面所创建的所有数据库,同时可以进行创建新数据库用户和修改用户密码等操作。
    (说明:linux 下的postgresql 这个用户不用管它,默认是没有密码的,也不需要设置密码)

    登录控制台:

    $ sudo -u postgres psql
    

    这条命令表示Linux用户postgres以超级用户postgres的身份登录了名为postgres的数据库,因为是Ubuntu系统,所以默认这个时候是不需要输入密码的,直接进入了pg的控制台

    设置postgres用户密码密码:

    postgres=# ALTER USER postgres PASSWORD 'xxxxxxxxxx';
    

    默认密码:postgres
    创建数据库:

    postgres=# create database mydb;
    

    切换数据库:

    postgres=# \c mydb
    

    其他命令参考

    \password           设置密码
    \q                  退出
    \h                  查看SQL命令的解释,比如\h select
    \?                  查看psql命令列表
    \l                  列出所有数据库
    \c [database_name]  连接其他数据库
    \d                  列出当前数据库的所有表格
    \d [table_name]     列出某一张表格的结构
    \x                  对数据做展开操作
    \du                 列出所有用户
    \i                  执行sql语句
    

    常用的SQL语句

    # 创建新表
    CREATE TABLE table_name(name VARCHAR(20), birth DATE);
    
    # 插入数据
    INSERT INTO table_name(name, birth) VALUES('欧文', '1994-08-23');
    
    # 查询记录
    SELECT * FROM table_name;
    
    # 更新数据
    UPDATE table_name set name = '勒夫' WHERE name = '欧文';
    
    # 删除记录
    DELETE FROM table_name WHERE name = '欧文' ;
    
    # 添加字段
    ALTER TABLE table_name ADD email VARCHAR(40);
    
    # 更改字段类型
    ALTER TABLE table_name ALTER COLUMN birth SET NOT NULL;
    
    # 设置字段默认值(注意字符串使用单引号)
    ALTER TABLE table_name ALTER COLUMN email SET DEFAULT 'example@example.com';
    
    # 去除字段默认值
    ALTER TABLE table_name ALTER email DROP DEFAULT;
    
    # 重命名字段
    ALTER TABLE table_name RENAME COLUMN birth TO birthday;
    
    # 删除字段
    ALTER TABLE table_name DROP COLUMN email;
    
    # 表重命名
    ALTER TABLE table_name RENAME TO backup_table;
    
    # 删除表
    DROP TABLE IF EXISTS backup_table;
    
    # 删除库
    \c postgres;
    DROP DATABASE IF EXISTS hello;
    

    备份和恢复

    $ pg_dump --format=t -d db_name -U user_name -h 127.0.0.1 -O -W  > dump.sql
    $ psql -h 127.0.0.1 -U user_name db_name < dump.sql
    

    以URL形式连接数据库

    psql postgresql://postgres:postgres@myhost:5432/mydb
    

    NodeJs 配置postgres 如下:

    "postgresserver": "postgres://postgres:postgres@localhost:5432/mydb"
    

    完结~

    相关文章

      网友评论

          本文标题:PostgreSQL 环境搭建、基本用法、数据库连接

          本文链接:https://www.haomeiwen.com/subject/lkjuzftx.html