|
141 | 141 |
|
142 | 142 | ��Portions copyright (c) 1996-2002, PostgreSQL Global Development |
143 | 143 | Group |
144 | | - Portions Copyright (c) 1994-6 Regents of the University of |
| 144 | + Portions Copyright (c) 1994-6 Regents of the University of |
145 | 145 | California�� |
146 | 146 |
|
147 | 147 | ����Ϊ�κ�Ŀ��ʹ�ã��������ĺͷַ���������������ĵ�������ȡ�κη��� |
|
277 | 277 | ������� SQL������ע�������ص������ˡ����� |
278 | 278 | http://www.commandprompt.com/ppbook ������һ������ PostgreSQL |
279 | 279 | ���顣��http://www.intermedia.net/support/sql/sqltut.shtm��http://ourw |
280 | | - orld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM �� |
| 280 | + orld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM �� |
281 | 281 | http://sqlcourse.com ��һ�����������Ž̡̳� |
282 | 282 |
|
283 | 283 | ��һ���� "Teach Yourself SQL in 21 Days, Second |
|
320 | 320 | ��ӵ����ȡ����ǻ���һЩ����û�е����ԣ����û��������ͣ��̳У� |
321 | 321 | ����Ͷ�汾���п����Լ����������õȡ� |
322 | 322 |
|
323 | | - |
324 | 323 | ���� |
325 | 324 | PostgreSQL |
326 | 325 | ���������úͿ�Դ�����ݿ�������Ƶ����ܡ���ijЩ�������ȽϿ죬��� |
|
338 | 337 | ���ԣ��������ǵķ�����ʷ��ʾ���ǿ����ṩ�ȶ��ģ��ι̵ģ�������� |
339 | 338 | ���ʹ�õİ汾�������������ⷽ�����������������ݿ��������൱�ġ� |
340 | 339 |
|
341 | | - |
342 | 340 | ֧�� |
343 | 341 | ���ǵ��ʼ��б��ṩһ���dz���Ŀ�����Ա���û����������������� |
344 | 342 | ����κ����⡣���Dz��ܱ�֤�϶��ܽ�����⣬���֮�£����� DBMS |
|
347 | 345 | ��Ҫ�á�����һЩ��ҵ�Ե�Ԥ��װ��֧�֣����Ը��ṩ����Щ��Ҫ���ˡ |
348 | 346 | �������֧�� FAQ ���� 1.6 С�ڡ��� |
349 | 347 |
|
350 | | - |
351 | 348 | �۸� |
352 | 349 | ���Ƕ��κ���;����ѣ��������úͷ�����Ŀ�ġ�����Բ������Ƶ���� |
353 | 350 | �IJ�Ʒ��������ǵĴ��룬������Щ����������İ�Ȩ������������ |
|
667 | 664 |
|
668 | 665 | 4.7) ��β鿴�������������ݿ��Լ��û��Ķ��壿 |
669 | 666 |
|
670 | | - psql �����෴б������������ʾ��Щ��Ϣ���� \? ����������Щ���� pg_ |
| 667 | + psql �����෴б������������ʾ��Щ��Ϣ���� \? ����������Щ���� pg_ |
671 | 668 | ��ͷ��ϵͳ��Ҳ��������Щ��Ϣ�� psql -l �����г����е����ݿ⡣ |
672 | 669 |
|
673 | 670 | Ҳ���������ļ� |
|
692 | 689 | ����ʹ����������Ϊֻ�᷵�ر���һС���֡�ʵ���ϣ���Ȼ MAX() �� MIN() |
693 | 690 | ����ʹ��������ͨ���� ORDER BY �� LLIMIT |
694 | 691 | ʹ������ȡ�����ֵ����СֵҲ�ǿ��Եģ� |
695 | | - SELECT col |
696 | | - FROM tab |
697 | | - ORDER BY col [ DESC ] |
698 | | - LIMIT 1; |
| 692 | + SELECT col |
| 693 | + FROM tab |
| 694 | + ORDER BY col [ DESC ] |
| 695 | + LIMIT 1; |
699 | 696 |
|
700 | 697 | ��ʹ��ͨ������������� LIKE �� ~ ʱ������ֻ�����ض��������ʹ�ã� |
701 | 698 | * �ַ����Ŀ�ʼ���ֱ�������ͨ�ַ�����Ҳ����˵�� |
|
740 | 737 | ������ ~ �����������ʽƥ�䣬�� ~* |
741 | 738 | ������Сд�ص��������ʽƥ�䡣��дЩ�ص� LIKE ���ֳ�Ϊ ILIKE�� |
742 | 739 | ��Сд�صĵ�ʽ�Ƚ�ͨ��д���� |
743 | | - SELECT * |
744 | | - FROM tab |
745 | | - WHERE lower(col) = 'abc'; |
| 740 | + SELECT * |
| 741 | + FROM tab |
| 742 | + WHERE lower(col) = 'abc'; |
746 | 743 | ����������ʹ�ñ������������ǿ��Դ���һ���ɱ����õĺ�������: |
747 | | - CREATE INDEX tabindex ON tab (lower(col)); |
| 744 | + CREATE INDEX tabindex ON tab (lower(col)); |
748 | 745 |
|
749 | 746 | 4.13) ��һ����ѯ����������һ���ֶ��Ƿ�Ϊ NULL�� |
750 | 747 |
|
751 | 748 | �� IS NULL �� IS NOT NULL ��������ֶΡ� |
752 | 749 |
|
753 | 750 | 4.14) �����ַ�����֮����ʲô��ͬ�� |
754 | 751 |
|
755 | | - ���� �ڲ����� ˵�� |
756 | | - -------------------------------------------------- |
757 | | - "char" char 1���ַ� character |
758 | | - CHAR(#) bpchar |
759 | | - �����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո��� |
760 | | - VARCHAR(#) varchar |
| 752 | + ���� �ڲ����� ˵�� |
| 753 | + -------------------------------------------------- |
| 754 | + "char" char 1���ַ� character |
| 755 | + CHAR(#) bpchar �����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո��� |
| 756 | + VARCHAR(#) varchar |
761 | 757 | ָ������ȣ��䳤�ַ��������㶨�峤�ȵIJ��ֲ����� |
762 | | - TEXT text �����Ƚ����е�������� |
763 | | - BYTEA bytea �䳤�ֽ����У��䳤�Ķ��������ݣ� |
| 758 | + TEXT text �����Ƚ����е�������� |
| 759 | + BYTEA bytea �䳤�ֽ����У��䳤�Ķ��������ݣ� |
764 | 760 | ��ϵͳ������һЩ������Ϣ���㽫�����ڲ����ơ� |
765 | 761 | �����������������"varlena"���䳤�����ͣ�Ҳ����˵����ͷ���ĸ��ֽ��dz�� |
766 | 762 | ȣ�����������ݣ�������ʵ��ռ�õĿռ�������Ĵ�СҪ��һЩ��Ȼ����Щ��� |
|
776 | 772 |
|
777 | 773 | PostgreSQL ֧�� SERIAL |
778 | 774 | �������͡������ֶ����Զ�����һ�����к����������磬 |
779 | | - CREATE TABLE person ( |
780 | | - id SERIAL, |
781 | | - name TEXT |
782 | | - ); |
| 775 | + CREATE TABLE person ( |
| 776 | + id SERIAL, |
| 777 | + name TEXT |
| 778 | + ); |
783 | 779 | ���Զ�ת��Ϊ�� |
784 | | - |
785 | | - CREATE SEQUENCE person_id_seq; |
786 | | - CREATE TABLE person ( |
787 | | - id INT4 NOT NULL DEFAULT nextval('person_id_seq'), |
788 | | - name TEXT |
789 | | - ); |
790 | | - CREATE UNIQUE INDEX person_id_key ON person ( id ); |
| 780 | + CREATE SEQUENCE person_id_seq; |
| 781 | + CREATE TABLE person ( |
| 782 | + id INT4 NOT NULL DEFAULT nextval('person_id_seq'), |
| 783 | + name TEXT |
| 784 | + ); |
| 785 | + CREATE UNIQUE INDEX person_id_key ON person ( id ); |
791 | 786 | �ο� create_sequence �ֲ�ҳ��ȡ�������еĸ�����Ϣ���㻹������ÿ�е� |
792 | 787 | oid �ֶ���Ϊһ��Ψһֵ���������������Ҫ�㵹���������ݿ⣬����Ҫʹ�� |
793 | 788 | pg_dump �� -o ѡ����� COPY WITH OIDS ѡ���Ա��� OID�� |
|
796 | 791 |
|
797 | 792 | һ�ַ������ڲ���֮ǰ���ú��� nextval() �����ж������������һ�� SERIAL |
798 | 793 | ֵ��Ȼ������ʽ���롣ʹ�� 4.15.1 �������������α������������ |
799 | | - new_id = execute("SELECT nextval('person_id_seq')"); |
800 | | - execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise |
| 794 | + new_id = execute("SELECT nextval('person_id_seq')"); |
| 795 | + execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise |
801 | 796 | Pascal')"); |
802 | 797 | ����������������ѯ��ʹ�ô���� new_id �����ֵ�����磬��Ϊ person |
803 | 798 | �����������ע���Զ������� SEQUENCE ��������ƽ����� |
804 | 799 | <table>_<serialcolumn>_seq������ table �� serialcolumn |
805 | 800 | �ֱ�����ı������ƺ���� SERIAL �ֶε����ơ� |
806 | 801 | ���Ƶģ��� SERIAL ����ȱʡ�����������ú��� currval() �����ո�ֵ�� |
807 | 802 | SERIAL ֵ�����磬 |
808 | | - execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); |
809 | | - new_id = execute("SELECT currval('person_id_seq')"); |
| 803 | + execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); |
| 804 | + new_id = execute("SELECT currval('person_id_seq')"); |
810 | 805 | ��������ʹ�ô� INSERT ��䷵�ص� OID |
811 | 806 | ����ȱʡֵ���������������ȱ����ֲ�Եķ������� Perl �ʹ�ô��� |
812 | 807 | Edmund Mergl �� DBD::Pg ģ��� DBI��oid ֵ����ͨ�� $sth->execute() |
|
836 | 831 | ֵ�������� OID �ֶ��ϴ���һ�������Կ��ٷ��ʡ� |
837 | 832 | OID ��һ�����������ݿ�ʹ�õ����������︳ֵ���������С��������� OID |
838 | 833 | �ijɱ��ֵ����������һ�ݱ��Ĵ��ʼ OID �Ŀ���������������� |
839 | | - CREATE TABLE new(old_oid oid, mycol int); |
840 | | - SELECT old_oid, mycol INTO new FROM old; |
841 | | - COPY new TO '/tmp/pgtable'; |
842 | | - DELETE FROM new; |
843 | | - COPY new WITH OIDS FROM '/tmp/pgtable'; |
| 834 | + CREATE TABLE new(old_oid oid, mycol int); |
| 835 | + SELECT old_oid, mycol INTO new FROM old; |
| 836 | + COPY new TO '/tmp/pgtable'; |
| 837 | + DELETE FROM new; |
| 838 | + COPY new WITH OIDS FROM '/tmp/pgtable'; |
844 | 839 | OID |
845 | 840 | ��4�ֽڵ��������棬�ڳ���40��ʱ�������û���˱�����ֹ�����������Ǵ�� |
846 | 841 | ������˱���֮ǰ����������ơ� |
|
851 | 846 |
|
852 | 847 | һЩԴ�����һЩ��һ����ĵ�ʹ��һЩ�и������÷����������������һ�� |
853 | 848 | �֣� |
854 | | - table, relation, class |
855 | | - row, record, tuple |
856 | | - column, field, attribute |
857 | | - retrieve, select |
858 | | - replace, update |
859 | | - append, insert |
860 | | - OID, serial value |
861 | | - portal, cursor |
862 | | - range variable, table name, table alias |
| 849 | + table, relation, class |
| 850 | + row, record, tuple |
| 851 | + column, field, attribute |
| 852 | + retrieve, select |
| 853 | + replace, update |
| 854 | + append, insert |
| 855 | + OID, serial value |
| 856 | + portal, cursor |
| 857 | + range variable, table name, table alias |
863 | 858 | ��һ��ͨ�����ݿ�������б���http://hea-www.harvard.edu/MST/simul/softw |
864 | 859 | are/docs/pkgs/pgsql/glossary/glossary.html �� |
865 | 860 |
|
866 | 861 | 4.18) Ϊʲô���յ�����ERROR: Memory exhausted in AllocSetAlloc()���� |
867 | 862 |
|
868 | 863 | ��ܿ�����ϵͳ�������ڴ��ù��ˣ������ں˶�ijЩ��Դ�нϵ͵�����ֵ������ |
869 | 864 | �� postmaster ֮ǰ������������ |
870 | | - ulimit -d 262144 |
871 | | - limit datasize 256m |
| 865 | + ulimit -d 262144 |
| 866 | + limit datasize 256m |
872 | 867 | ȡ�������õ� |
873 | 868 | shell����������ֻ��һ���ܳɹ���������������Ľ������ݶ�������ñȽϸߣ |
874 | 869 | ����Ҳ�����ò�ѯ��ɡ���������Ӧ���ڵ�ǰ���̣��Լ������������������к |
|
894 | 889 | 4.21) ����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ� |
895 | 890 |
|
896 | 891 | ʹ�� CURRENT_TIMESTAMP�� |
897 | | - CREATE TABLE test(x int, modtime timestamp DEFAULT |
898 | | - CURRENT_TIMESTAMP); |
| 892 | + CREATE TABLE test(x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP); |
899 | 893 |
|
900 | 894 | 4.22) Ϊʲôʹ�� IN ���Ӳ�ѯ��ô���� |
901 | 895 |
|
902 | 896 | Ŀǰ������ͨ��Ϊ���ѯ��ÿһ��˳��ɨ���Ӳ�ѯ�Ľ���������Ӳ�ѯ�����ѯ |
903 | 897 | ������Ӳ�ѯ�����������У������ѯ���غܶ��У�IN |
904 | 898 | ִ�еúܿ졣Ϊ�˼ӿ����� IN ��ѯ��ִ�У������� EXISTS �滻 IN�� |
905 | | - SELECT * |
906 | | - FROM tab |
907 | | - WHERE col IN (SELECT subcol FROM subtab); |
| 899 | + SELECT * |
| 900 | + FROM tab |
| 901 | + WHERE col IN (SELECT subcol FROM subtab); |
908 | 902 | ���� |
909 | | - SELECT * |
910 | | - FROM tab |
911 | | - WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); |
| 903 | + SELECT * |
| 904 | + FROM tab |
| 905 | + WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); |
912 | 906 | ����Ҫ��ִ�еø��죬subcol |
913 | 907 | Ӧ����һ�������С�����ϣ����δ���ķ����汾����������ơ� |
914 | 908 |
|
915 | 909 | 4.23) ���������� outer join �������ӣ��� |
916 | 910 |
|
917 | 911 | PostgreSQL ���ñ��� SQL �֧�������ӡ��������������ӣ� |
918 | | - SELECT * |
919 | | - FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); |
| 912 | + SELECT * |
| 913 | + FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); |
920 | 914 | �� |
921 | | - SELECT * |
922 | | - FROM t1 LEFT OUTER JOIN t2 USING (col); |
| 915 | + SELECT * |
| 916 | + FROM t1 LEFT OUTER JOIN t2 USING (col); |
923 | 917 | �������ȼ۵IJ�ѯ�� t1.col �� t2.col �������ӣ����ҷ��?t1 |
924 | 918 | ������δ���ӵ��У���Щ�� t2 ��û��ƥ����У�����[��]����(RIGHT OUTER |
925 | 919 | JOIN)������ t2 ��δ���ӵ��С���ȫ�����ӣ�FULL OUTER JOIN�������� t1 �� |
|
928 | 922 | ��INNER JOIN���� |
929 | 923 | �ڴ�ǰ�İ汾�У������ӿ����� UNION �� NOT IN |
930 | 924 | ��ģ�⡣���磬����������ڱ� tab1 �� tab2 ֮���������ӣ� |
931 | | - SELECT tab1.col1, tab2.col2 |
932 | | - FROM tab1, tab2 |
933 | | - WHERE tab1.col1 = tab2.col1 |
934 | | - UNION ALL |
935 | | - SELECT tab1.col1, NULL |
936 | | - FROM tab1 |
937 | | - WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) |
938 | | - ORDER BY col1 |
| 925 | + SELECT tab1.col1, tab2.col2 |
| 926 | + FROM tab1, tab2 |
| 927 | + WHERE tab1.col1 = tab2.col1 |
| 928 | + UNION ALL |
| 929 | + SELECT tab1.col1, NULL |
| 930 | + FROM tab1 |
| 931 | + WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) |
| 932 | + ORDER BY col1 |
939 | 933 |
|
940 | 934 | 4.24) ���ʹ���漰������ݿ�IJ�ѯ�� |
941 | 935 |
|
|
961 | 955 | 4.27) ����Щ���ݸ���ѡ� |
962 | 956 |
|
963 | 957 | �м�����/�ӷ�ʽ�ĸ���ѡ���Щѡ��ֻ���������ݿ���и��£������ݿ�ֻ� |
964 | | - ܽ��ж�����ҳ |
965 | | - http://gborg.PostgreSQL.org/genpage?replication_research |
| 958 | + ܽ��ж�����ҳ http://gborg.PostgreSQL.org/genpage?replication_research |
966 | 959 | ������г�����Щѡ��� |
967 | 960 | http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php |
968 | 961 | ���ڽ���һ�����������ƵĽ�������� |
|
0 commit comments