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

环境: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"

完结~

    原文作者:Jayson_
    原文地址: https://www.jianshu.com/p/f0847183975a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞