`

mysql 和 postgresql 常见命令对照

 
阅读更多
一、通用区别
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的比较

    虽然两者对XML的支持有限,但在数据访问和管理方面,MySQL提供了如`OPTIMIZETABLE`命令和`myisamchk-analyze`工具,用于回收未使用的空间和更新查询优化器所需的统计数据。 综上所述,MySQL与PostgreSQL在数据库...

    dbconvert_mysql_postgresql.zip

    总的来说,“dbconvert_mysql_postgresql.zip”是一个专注于数据库迁移的工具,它旨在帮助用户跨越PostgreSQL和MySQL之间的技术鸿沟,使数据迁移变得更为便捷。这个工具的应用可以极大地节省时间,减少潜在错误,...

    MySQL、PostgreSQL、Oracle比较及数据库基础知识

    MySQL、PostgreSQL、Oracle比较; 数据库基础知识.ppt

    mysql2postgresql, 转换mysql模式到 PostgreSQL.zip

    mysql2postgresql, 转换mysql模式到 PostgreSQL mysql2postgresql转换mysql模式和数据到 PostgreSQL用法使用命令在xml格式中创建转储: mysqldump --xml -u USER_NAME DB_NAME> DUMP_FILE_NAME

    MySQL与PostgreSQL数据库高可用分析实践.pdf

    本文档详细介绍了MySQL和PostgreSQL数据库高可用的分析实践,涵盖了高可用原理、MySQL高可用和PostgreSQL高可用等方面的知识点。 一、高可用原理 高可用是指系统在无中断的情况下执行其功能的能力,是进行系统设计...

    PyPI 官网下载 | mysql2postgresql-0.3.0.tar.gz

    了解如何在Python环境中安装和使用此类库,以及对MySQL和PostgreSQL数据库的基本知识,对于进行跨数据库的数据迁移至关重要。在实际操作中,正确配置数据库连接参数,理解数据迁移的潜在问题,以及熟悉所使用的库的...

    MySQL 和 PostgreSQL 协议解析和对比.pdf

    报文格式的共同拥有的部位是报文长度,命令类型和具体命令的语句,除这以外 MySQL 会比 PostgreSQL 多一个序列号,然后比较直观的区别则是命令的长度和命令类型两者位置不同。 注意事项 在报文通信的过程中需要...

    MySQL和PostgreSQL两数据库对比

    在本文中我们选用MySQL 4.0.2-alpha与PostgreSQL 7.2进行比较,这样的比较不想仅仅成为一份性能测试报告,因为至少从我个人来看,对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会...

    C#插件用于MySQL and PostgreSQL数据库驱动

    C#提供了ADO.NET(ActiveX Data Objects .NET)框架,它是一组用于访问数据的类库,允许开发者与多种数据库系统进行交互,包括MySQL和PostgreSQL。ADO.NET提供了如SqlConnection、SqlDataAdapter和SqlCommand等类,...

    Qt 5.9.3 MySQL和PostgreSQL本地编译驱动

    Qt 5.9.3 MySQL和PostgreSQL本地编译驱动,Qt自带的的MySQL和PostGreSQL驱动在程序出包后,报错:“Driver not loaded”,使用本地源码编译生成的驱动替换后即可正常连接数据库。

    mysql转换postgresql工具

    国外大牛写的一个mysql数据库转换postgresql的脚本。亲试可以无错误运行。

    将你的网站从MySQL改为PostgreSQL

    【将网站从MySQL改为PostgreSQL】的转换过程和原因 MySQL和PostgreSQL都是流行的开源关系型数据库管理系统(RDBMS),但它们之间存在一些显著差异。这篇文章主要讲述了作者为何从MySQL迁移到PostgreSQL,以及迁移...

    C#连接数据库MYSQL和POSTGRESQL.pdf

    C#提供了丰富的库和API来与各种数据库系统进行交互,包括MySQL和PostgreSQL。这两种数据库系统在开源社区中非常受欢迎,它们各自具有不同的特点和优势。本文将详细介绍如何使用C#连接到MySQL和PostgreSQL数据库。 #...

    关于MySQL 和 PostgreSQL数据库在医疗领域中应用的比较.pdf

    医疗信息系统中常用的两种数据库技术是MySQL和PostgreSQL。在这两种数据库技术中,由于它们各自独特的特性和优势,医疗信息系统开发者会根据特定需求选择最合适的数据库解决方案。以下是在医疗领域中MySQL和...

    upsert, 在 MySQL,PostgreSQL和SQLite3上,更新 使用INSERT或者 IGNORE,透明地为MySQL和PostgreSQL创建函数( UDF ) ;.zip

    upsert, 在 MySQL,PostgreSQL和SQLite3上,更新 使用INSERT或者 IGNORE,透明地为MySQL和PostgreSQL创建函数( UDF ) ; 更新程序 让我们轻松更新传统 RDBMS,如 MySQL,PostgreSQL和SQLite3-hey外观 NoSQL 。 在...

Global site tag (gtag.js) - Google Analytics