一、通用区别
postgresql 的客户端命令行 psql 命令在很大程度上接受很多和mysql类似的命令行参数,比如 -h 都是帮助。
这里列举一些明显的区别:
mysql -u 对应的是 psql -U,在psql里头用大写的U参数指定数据库用户。
mysql -P (指定端口号)对应的是 psql -p,在psql里头用小写的p参数指定端口号。
mysql -p 指定密码,在psql里不允许命令行上放密码,可以用.pgpass密码文件代替,详情请阅读这里 代替。
二、SQL 级别的
1、mysql 的 show table 在 postgresql 里头是啥?
在 psql 命令行工具里:
\d table_name
不加 table_name 的:
\d
显示全部表。
2、mysql 的 show create table 在 postgresql 里头对应的是啥?
最简单的做法:
pg_dump -h db_ip_address -U db_user -t table_name -s db_name
3、mysql 里头的 show database 在 postgresql 里头对应的是啥命令?
在 psql 命令行工具里:
\l
或者直接在shell命令行下:
psql -h db_ip_address -U db_superuser -l
mysql 里头的 use database 在 postgresql 对应的是啥?
在 psql 命令行工具里:
\c db_name
或者在shell命令行上给psql加上 -d 参数:
psql -h db_ip_address -U db_superuser -d db_name
4、mysql 里头的 auto_increment 在 postgresql 里头对应怎么弄?
postgresql 里头有个类型,叫 serial,等同于 mysql 里头的 int auto_increment 的定义,也就是说,在mysql里头下面的SQL代码:
create table
(
id int auto_increment
)
等效于 postgresql 里头的:
create table
(
id serial
)
postgresql 里头还有个 bigserial,是8字节的整数,如果需要特别大范围的序列号,可以用bigserial。
5、mysql 的 show full processlist 在 postgresql 里头对应是啥?
select * from pg_stat_activity;
爽的地方是,pg_stat_activity是一个系统视图(view),因此你可以对它加条件,甚至是排序什么的,比如:
select client_addr, count(1)
from pg_stat_activity
group by client_addr order by count(1) desc;
看看哪个客户端连接最多。
6、mysql 的 show global variables 对应的 postgresql 命令是什么?
在psql里头执行下面的SQL:
show all;
命令行级别的
7、mysql 的-e 参数,在psql 里头对应的是啥?
psql -h db_ip_address -U dbuser -d db_name -c $'select * from table'
如果需要输出tab分隔的数据,需要利用postgresql的copy命令:
psql -h db_ip_address -U dbuser -d db_name \
-c $'copy(select * from table) to stdout' > some_file
把你的查询放在一个 copy () to stdout 里头,就可以了。psql 支持100%的管道,所以你可以将结果重定向到任何文件,或者中间做任何处理。
本文来在老何的一千零一夜系列
分享到:
相关推荐
MySQL和PostgreSQL的各种性能比较
MySQL、PostgreSQL、Oracle比较; 数据库基础知识.ppt
MySQL和PostgreSQL的对比选择
PostgreSQL转MySQL工具
mysql2postgresql, 转换mysql模式到 PostgreSQL mysql2postgresql转换mysql模式和数据到 PostgreSQL用法使用命令在xml格式中创建转储: mysqldump --xml -u USER_NAME DB_NAME> DUMP_FILE_NAME
PostgreSQL 常用命令和语句查询表,包括 psql 客户端工具使用、数据库和模式管理、用户和权限管理、表管理、表空间管理、索引、查询语句、DML 语句、事务控制、视图、存储过程/触发器、备份恢复等。
在本文中我们选用MySQL 4.0.2-alpha与PostgreSQL 7.2进行比较,这样的比较不想仅仅成为一份性能测试报告,因为至少从我个人来看,对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会...
\d [ table ] 列出数据库中的表 或(如果声明了)表 table 的列/字段 \l 列出服务器上所有数据库. \dt 只列出非系统表. ……
Qt 5.9.3 MySQL和PostgreSQL本地编译驱动,Qt自带的的MySQL和PostGreSQL驱动在程序出包后,报错:“Driver not loaded”,使用本地源码编译生成的驱动替换后即可正常连接数据库。
PostgreSQL与mysql字段对比.docx
MySQL 和 PostgreSQL 协议解析和对比
国外大牛写的一个mysql数据库转换postgresql的脚本。亲试可以无错误运行。
Sqlserver、Oracle、MySql、PostgreSql、SqlLite常用数据库的对比 1、分页 2、时间函数 3、自增列 4、表名规范 5、字符串连接 6、变量定义 7、其它
C#连接数据库MYSQL和POSTGRESQL.pdf
upsert, 在 MySQL,PostgreSQL和SQLite3上,更新 使用INSERT或者 IGNORE,透明地为MySQL和PostgreSQL创建函数( UDF ) ; 更新程序 让我们轻松更新传统 RDBMS,如 MySQL,PostgreSQL和SQLite3-hey外观 NoSQL 。 在...
数据库转换工具 MySQL转换到postgresql
PostgreSQL常用命令 psql 国内的资源少啊。
资源来自pypi官网。 资源全名:mysql2postgresql-0.3.0.tar.gz