最近常用命令
linux命令行登录
su - postgres
psql -U root -d sharding_db -h 192.168.201.1 -p 3307
#切换postgresq用户操作以下命令
su - postgres
#启动数据库
cd /usr/local/pgsql
chmod 700 pgsql_data/
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/pgsql_data/ -l logfile start
#停止数据库
/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/pgsql_data/
#重启数据库
/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/pgsql_data/
postgresql下载
百度云下载地址 https://pan.baidu.com/s/1JWAfogqQupScd3ZSHzLrOg
官方下载地址 https://www.enterprisedb.com/download-postgresql-binaries
安装
新建postgres的linux用户
以后操作都使用该账户操作
useradd postgres
passwd postgres
#两次输入密码并确认 这里密码都为postgres
安装目录的选择
tar -xvzf postgresql-10.5-1-linux-x64-binaries.tar.gz 解压后会在/usr/local/src/里多出一个pgsql的目录
cd /
mkdir monchickey
mv /usr/local/src/pgsql /monchickey/
mkdir /monchickey/pgsql_data #创建存放数据库的目录
chown postgres /monchickey/pgsql_data/ 给postgres的linux用户赋予相应的目录权限
然后使用postgres的用户来操作数据库的所有操作
su - postgres
初始化数据库
/monchickey/pgsql/bin/initdb -D /monchickey/pgsql_data/
启动/停止数据库 前提是用postgres用户操作
/monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ -l logfile start #启动数据库
这里-l指定日志文件位置,这里直接输出在家目录下的logfile中 这里-D指定数据目录
/monchickey/pgsql/bin/pg_ctl stop -D /monchickey/pgsql_data/ #停止数据库
/monchickey/pgsql/bin/pg_ctl restart -D /monchickey/pgsql_data #重启数据库
放开防火墙
默认的端口为5432
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT
service iptables restart #重启
放开远程地址限制
vi /monchickey/pgsql_data/postgresql.conf
将里面的 #listen_addresses=’localhost’ 修改为 listen_addresses=’*’
vi /monchickey/pgsql_data/pg_hba.conf
将原来的 host all all 127.0.0.1/32 trust 这个给注释掉
换成新的 host all all all trust
命令行界面操作postgresql数据库
进入命令行
cd /monchickey/pgsql
./bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432
其中-h参数指定服务器地址,默认为127.0.0.1,默认不指定即可,-d指定连接之后选中的数据库,默认也是postgres,-U指定用户,默认是当前用户,-p 指定端口号,默认是"5432",其它更多的参数选项可以执行
查看当前数据库列表
\l #查看当前的数据库列表
创建新的数据库
CREATE DATABASE xxxtestxxx 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
\d student; #查看student表
插入一条数据
INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');
SELECT * FROM student WHERE id=1; #查询这条数据
退出交互界面
\q