- Tabloların sadece kayıtlarını dump alma: pg_dump –column-inserts –data-only –inserts -t table1 -f dump.sql -U user db_name
- Bazı tabloların dump’ını alma: pg_dump -t table1 -t table2 -f dump.sql -U user db_name –inserts
- sql sorgu sonucunu dışarı aktarma (superuser gerektirmez): \copy (select * from maillog) To ‘/tmp/mail-logs.dump.csv’ With CSV header
- sql sorgu sonucunu dışarı aktarma (superuser gerektirebilir): copy (select * from table1) to ‘/tmp/test.csv’ with csv;
- Login iken client character encoding’i öğrenme: show client_encoding
- Login iken sunucu character encoding’i öğrenme: show server_encoding
- Character encoding’i öğrenme: psql database user –list
- ILIKE ile case-insenstive arama yapma: select * from table1 where city ILIKE ‘istanbul’
- Konsoldan import: psql -f dump.sql
- psql prompt’dan import: \i dump.sql
- Tüm tabloları listeleme: \d
- Bir tablonun yapısını görme: \d+ table1
- Sorgu sonuçlarını dikey formatlı görme: select * from users\x\g\x
- Sorgu ile bir tablonun varlığını kontrol etme: select * from pg_class where relname=’tablename’
Postgresql’den Benzer Tabloları Topluca Silme
psql -d mydb -P tuples_only=1 -c '\dt' | cut -d '|' -f 2 | paste -sd "," | sed 's/ //g' | xargs -I{} echo psql -d mydb -c "drop table {};"
Tablonun Constraint’lerini Öğrenme
SELECT * FROM information_schema.table_constraints tc right JOIN information_schema.constraint_column_usage ccu ON tc.constraint_catalog = ccu.constraint_catalog AND tc.constraint_schema = ccu.constraint_schema AND tc.constraint_name = ccu.constraint_name and ccu.table_name in ('table_name') WHERE lower(tc.constraint_type) in ('foreign key');
Örnek-1: Table Oluşturma
CREATE TABLE accountsdisabled( id serial NOT NULL PRIMARY KEY, accountname CHARACTER VARYING(100) DEFAULT ''::CHARACTER VARYING NOT NULL, organization CHARACTER VARYING(100) DEFAULT ''::CHARACTER VARYING NOT NULL, generalorganization CHARACTER VARYING(100) DEFAULT ''::CHARACTER VARYING NOT NULL, --- smailint col. status SMALLINT DEFAULT (0)::SMALLINT NOT NULL, --- timestamp col. without zone and miliseconds crtdate TIMESTAMP WITHOUT TIME zone DEFAULT now()::timestamp(0) );