Here are some examples of commands to use with postgres and the equivalent to MySQL:
\d
SELECT tablename FROM informationschema.tables WHERE table_schema = 'public';
\l
SELECT datname FROM pg_database;
\d table
SELECT columnname FROM informationschema.columns WHERE table_name ='table';
\d+ table
SELECT columnname FROM informationschema.columns WHERE table_name ='table';
CREATE DATABASE dbName;
CREATE TABLE tableName (
id serial PRIMARY KEY,
name varchar(50) UNIQUE NOT NULL,
dateCreated timestamp DEFAULT current_timestamp
);
ALTER TABLE tableName ADD PRIMARY KEY (id);
CREATE UNIQUE INDEX indexName ON tableName (columnNames);
pg_dump dbName > dbName.sql
pg_dumpall > pgbackup.sql
psql -f script.sql databaseName
SELECT column FROM table WHERE column ~ 'foo.*';
SELECT columns FROM table LIMIT 10;
SELECT cols FROM table LIMIT 10 OFFSET 30;
PREPARE preparedInsert (int, varchar) AS
INSERT INTO tableName (intColumn, charColumn) VALUES ($1, $2);
EXECUTE preparedInsert (1,'a');
EXECUTE preparedInsert (2,'b');
DEALLOCATE preparedInsert;
CREATE OR REPLACE FUNCTION month (timestamp) RETURNS integer
AS 'SELECT date_part(''month'', $1)::integer;'
LANGUAGE 'sql';
VACUUM ANALYZE table;
REINDEX DATABASE dbName;
EXPLAIN SELECT * FROM table;
EXPLAIN ANALYZE
SELECT *
FROM table
COPY destTable FROM '/tmp/somefile';
SHOW ALL;
GRANT ALL PRIVILEGES ON table TO username;
BEGIN TRANSACTION
UPDATE accounts SET balance += 50 WHERE id = 1;
COMMIT;
SELECT * FROM table;
INSERT INTO table (column1,column2)
VALUES (1, 'one');
UPDATE table SET foo = 'bar' WHERE id = 1;
DELETE FROM table WHERE id = 1;
SELECT * FROM pg_tables
WHERE schemaname = 'my_name';
ALTER TABLE schema_name.table_name OWNER TO username_or_role;