Warning: this is a htmlized version!
The original is across this link.
#######
#
# E-scripts on SQL.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/a/e/sql.e>
#           or at <http://angg.twu.net/e/sql.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/a/.emacs[.html]>,
#                 <http://angg.twu.net/a/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######




######
#
# create a user "postgres" (for createdb, etc)
#
######

# (find-fline "/etc/passwd" "postgres")
# postgres::31:32:postgres:/home/postgres:/usr/bin/zsh
# postgres0:*:31:32:postgres:/var/postgres:/bin/sh

cd /home
mkdir postgres
cd /home/postgres
ln -s ../root/.zshrc .
ln -s ../root/.emacs .
ln -s ../root/eev.el .
ln -s ../root/bin    .
cd /home
chown -Rv postgres: postgres




######
#
# postgres: installation
#
######

Pgrep m/postgres/i  |& tee ~/o
# (find-fline "~/o")

apti libpgsql libpgtcl postgresql postgresql-doc postgresql-dev

# Allow TCP/IP connections (for pgaccess):
#
# (find-fline "/etc/rc2.d/S20postgresql" "Usage:")
# (find-fline "/etc/init.d/postgresql")
#
# (find-fline "/etc/postgresql/postmaster.init" "PGALLOWTCPIP")
# PGALLOWTCPIP=yes

/etc/init.d/postgresql restart

# (find-fline "/usr/doc/libpgsql/")
# (find-fline "/usr/doc/libpgtcl/")
# (find-fline "/usr/doc/postgresql-dev/")
# (find-fline "/usr/doc/postgresql-doc/")
# (find-fline "/usr/doc/postgresql/")
# (find-vldifile "libpgsql.list")
# (find-vldifile "libpgtcl.list")
# (find-vldifile "postgresql-dev.list")
# (find-vldifile "postgresql-doc.list")
# (find-vldifile "postgresql.list")

# (find-fline "/usr/doc/postgresql-doc/")


# (find-fline "/usr/X11R6/bin/pgaccess")
# (find-fline "/etc/postgresql/")




#####
#
# libpgtcl
#
#####

# (find-vldifile "libpgtcl.list")
# (find-fline "/usr/doc/libpgtcl/")
# (find-fline "/usr/lib/postgresql/lib/pgaccess.tcl")

# (find-vldifile "tcl8.0-dev.list")
# (find-fline "/usr/doc/tcl8.0-dev/")

pdsc /big/slinks2/dists/slink/main/source/misc/postgresql_6.3.2-15.dsc
cd /usr/src/postgresql-6.3.2/

# (find-pgfile "")
# (find-pgfile "src/interfaces/libpgtcl/")
# (find-pgfile "src/interfaces/libpgtcl/pgtcl.c" "Tcl_CreateCommand")
# (find-pgfile "src/interfaces/libpgtcl/pgtclCmds.c")
# (find-pgfile "src/bin/pgaccess/")
# (find-pgfile "src/bin/pgtclsh/")
# (find-pgfile "debian/" "tcl")
# (find-pgfile "")

# (code-c-d "pgtcl" "/usr/src/postgresql-6.3.2/src/interfaces/libpgtcl/")
eecd pgtcl
etags *.[ch]
# (find-pgtcltag "pg_connect")


lynx /usr/doc/libpgtcl/html/


# What commands?
# Run eet on this:

set list0 [info commands]
load libpgtcl.so
foreach p [info commands] {
  # puts "[lsearch $list0 $p] $p"
  if {[lsearch $list0 $p]==-1} {
    lappend list1 $p
  }
}
foreach p [lsort $list1] { puts $p }

# pg_conndefaults
# pg_connect
# pg_disconnect
# pg_exec
# pg_listen
# pg_lo_close
# pg_lo_creat
# pg_lo_export
# pg_lo_import
# pg_lo_lseek
# pg_lo_open
# pg_lo_read
# pg_lo_tell
# pg_lo_unlink
# pg_lo_write
# pg_notifies
# pg_result
# pg_select










alias pgaccessp='su -s /usr/X11R6/bin/pgaccess postgres'

function pgdo () { su -s $1 postgres -- $*[2,-1] }
pgdo `w createdb` edrx


load libpgtcl.so
set conn [pg_connect cds -host localhost -port 5432]
puts $conn
set res [pg_exec $conn {select t0.artist, t0.title from "basic" t0  order by t0.artist}]

select t0.artist, t0.title from "basic" t0  order by t0.artist





# (find-pgfile "src/bin/pgtclsh/")
# (find-pgfile "doc/src/sgml/libpgtcl.sgml")
# (find-pgfile "src/pl/tcl/")

proc getDBs { {host "localhost"} {port "5432"} } {
    # datnames is the list to be result
    set conn [pg_connect template1 -host $host -port $port]
    set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname"]
    set ntups [pg_result $res -numTuples]
    for {set i 0} {$i < $ntups} {incr i} {
	lappend datnames [pg_result $res -getTuple $i]
    }
    pg_disconnect $conn
    return $datnames
}



pdsc /big/slinks2/dists/slink/main/source/misc/postgresql_6.3.2-15.dsc
cd /usr/src/postgresql-6.3.2/

# (find-pgfile "src/bin/")
# (find-pgfile "src/bin/createdb/createdb.sh")
# (find-pgfile "debian/pg_wrapper.c")
# (find-fline "/usr/lib/postgresql/bin/")
# (eeman "pg_wrapper")

# (find-fline "/usr/bin/createdb")
# (find-fline "/usr/bin/createuser")

# (find-fline "/usr/lib/postgresql/bin/createdb")
# (find-fline "/usr/lib/postgresql/bin/createuser")



# (find-fline "/usr/doc/HOWTO/PostgreSQL-HOWTO.gz")
# (find-vldifile "www-pgsql.list")

# (find-fline "/usr/doc/postgresql-doc/")
lynx	     /usr/doc/postgresql-doc/postgres/index.html
edrxnetscape /usr/doc/postgresql-doc/postgres/index.html

# (find-fline "/usr/doc/libpgtcl/README")
# (find-fline "/usr/X11R6/bin/pgaccess")
# (find-fline "/usr/lib/postgresql/lib/pgaccess.tcl")
# (find-fline "/usr/lib/postgresql/lib/pgaccess.tcl" "Open database")
# (find-fline "/usr/lib/postgresql/lib/pgaccess.tcl" "open_database")
# (find-fline "/usr/lib/postgresql/lib/pgaccess.tcl" "libpgtcl.so")


# (find-fline "/var/postgres/")
# (find-fline "/etc/postgresql/postgresql.env")
# (format "%x" 5432)

cd /proc/net/
mycat * | l +/1538

psql edrx







#
# Velhos:
#

debsource /debian/main/source/misc postgresql 6.3.2 -8

# (code-c-d "pg" "/usr/src/postgresql-6.3.2/")
# (find-pgfile "src/bin/pgaccess/")
# (find-pgfile "src/bin/pgtclsh/")
# (find-pgfile "src/interfaces/libpgtcl/")
# (find-pgfile "src/pl/tcl/")
# (find-pgfile "debian/")

cd /usr/src/postgresql-6.3.2/
debian/rules binary |& tee odrb

# (find-hamm "libpgtcl")

# (find-fline "/etc/init.d/postgresql")
# (find-fline "/etc/postgresql/postmaster.init")
# Adicionar essas linhas no final:
#   PGALLOWTCPIP=yes
#   PGPORT=5432

# (find-fline "/var/postgres/data/")
# (find-fline "/etc/services" "postgres")
# (format "%x" 5432)

#
# Ele não estava se atachando na porta 5432.
# Solução porca:
#

ps | awk '/work/{print$2}'
pidof workbone

l < /proc/$(pidof postmaster)/cmdline

/etc/init.d/postgresql stop
export PGALLOWTCPIP=yes
/etc/init.d/postgresql start
netstat -veao

telnet 0 5432




wish -f /usr/lib/postgresql/lib/pgaccess.tcl
wish -f /usr/src/postgresql-6.3.2/src/bin/pgaccess/pgaccess.tcl

cd /usr/src/postgresql-6.3.2/

cd /usr/src/postgresql-6.3.2/src/bin/pgaccess/
agrep ^proc pgaccess.tcl

# (find-pgfile "doc/src/sgml/")
# (find-pgfile "doc/src/sgml/install.sgml" "create database foo")
cd /usr/src/postgresql-6.3.2/doc/src/sgml/

cd /usr/src/postgresql-6.3.2/doc/
for i in *.ps; do gv $i; done

gv /usr/src/postgresql-6.3.2/doc/user.ps
gv /usr/src/postgresql-6.3.2/doc/tutorial.ps

psql
psql -p 5432

# (find-pgfile "")





#####
#
# pltcl
# (Not working! 99sep04)
#
#####

# (find-pgfile "src/pl/tcl/")

groff -Tascii /usr/src/postgresql-6.3.2/src/pl/tcl/pltcl_guide.nr > ~/o
# (find-fline "~/o")

cd /usr/src/postgresql-6.3.2/src/pl/tcl/
chmod 777 test
cd test
su -s runtest postgres
# (find-pgfile "src/pl/tcl/test/")





########
#
# mysql
#
########

cd /cdrom/
cp -diPv $(<<'---'
debian/contrib/source/misc/xmysql_1.8-1.diff.gz
debian/contrib/source/misc/xmysql_1.8-1.dsc
debian/contrib/source/misc/xmysql_1.8.orig.tar.gz
debian/non-free/source/devel/mysql-manual_0.95-1-1.dsc
debian/non-free/source/devel/mysql-manual_0.95-1-1.tar.gz
debian/non-free/source/devel/mysql_3.21.31-1.diff.gz
debian/non-free/source/devel/mysql_3.21.31-1.dsc
debian/non-free/source/devel/mysql_3.21.31.orig.tar.gz
) /

debsource /debian/non-free/source/devel mysql 3.21.31 -1
debsource /debian/non-free/source/devel mysql-manual 0.95-1 -1

cd /usr/src/mysql-manual-0.95-1/


pdsc /debian/non-free/source/devel/mysql_3.21.31-1.dsc
cd /usr/src/mysql-3.21.31/
debian/rules binary	|& tee odrb

# Não funciona.






######
#
# postgres docs
#
######

pdsc /big/slinks2/dists/slink/main/source/misc/postgresql_6.3.2-15.dsc

# (find-pgfile "")
# (find-pgfile "doc/")
# (find-pgfile "doc/src/sgml/")
# (find-pgfile "doc/src/sgml/ref/")




######
#
# Some SQL commands taken from a program that my father wrote
#
######



# (find-fline "/smilc/edrx/")

SELECT	qryConjStok.ID,
	qryConjStok.IdCompt,
	qryConjStok.Expr1,
	qryConjStok.NumAtivo,
	qryConjStok.AlugDia,
	tblComptStok.ID,
	tblComptStok.IdCompt,
	[Descricao] & " " & [NomeFabric] & " " & [Modelo] AS Expr2,
	tblComptStok.NumSerie,
	tblComptStok.NumAtivo,
	tblComptCad.AlugDia
	FROM
(((qryConjStok INNER JOIN
   tblComptStok ON
     qryConjStok.ConjPai = tblComptStok.ComptFilho
  ) INNER JOIN
  tblComptCad ON
    tblComptStok.IdCompt = tblComptCad.IdComponte
 ) INNER JOIN
 tblComptTipoCad ON
   tblComptCad.RefTipo = tblComptTipoCad.RefTipo
) INNER JOIN
tblFabricCad ON
  tblComptCad.NumFabric = tblFabricCad.NumFabric;


Databases envolvidos:
  tblComptCad
  tblComptStok
  tblComptTipoCad
  tblFabricCad


----------


SELECT	tblComptStok.ID,
	tblComptStok.IdCompt,
	[Descricao] & " " & [Modelo] & " " AS Expr1,
	tblComptCad.AlugDia,
	tblComptStok.NumAtivo,
	tblComptStok.ConjPai
	FROM
(tblComptStok INNER JOIN
 tblComptCad  ON
   tblComptStok.IdCompt = tblComptCad.IdComponte
) INNER JOIN
tblComptTipoCad ON
  tblComptCad.RefTipo = tblComptTipoCad.RefTipo
    WHERE (((tblComptStok.NumSerie) Is Null));


Databases envolvidos:
  tblComptCad
  tblComptStok
  tblComptTipoCad



-----


C:\TecnoLoc\LocRefrs.mdb    Quinta-feira, 19 de Agosto de 1999
Consulta: qryMontagem                                Página: 1

SQL

SELECT	qryConjStok.ID,
	qryConjStok.IdCompt,
	qryConjStok.Expr1,
	qryConjStok.NumAtivo,
	qryConjStok.AlugDia,
	tblComptStok.ID,
	tblComptStok.IdCompt,
	[Descricao] & " " & [NomeFabric] & " " & [Modelo] AS Expr2,
	tblComptStok.NumSerie,
	tblComptStok.NumAtivo,
	tblComptCad.AlugDia
	FROM
(((qryConjStok INNER JOIN
   tblComptStok ON
    qryConjStok.ConjPai = tblComptStok.ComptFilho
  ) INNER JOIN
  tblComptCad ON
   tblComptStok.IdCompt = tblComptCad.IdComponte
 ) INNER JOIN
 tblComptTipoCad ON
 tblComptCad.RefTipo = tblComptTipoCad.RefTipo
) INNER JOIN
tblFabricCad ON
tblComptCad.NumFabric = tblFabricCad.NumFabric;


Columns

  Name                   Type              Size

  qryConjStok.ID         Número (Longo)       4
  qryConjStok.IdCompt    Número (Longo)       4

  Expr1                  Texto                0
  qryConjStok.NumAtivo   Número (Longo)       4
  qryConjStok.AlugDia    Número (Simples)     4

  tblComptStok.ID        Número (Longo)       4
  tblComptStok.IdCompt   Número (Longo)       4
  Expr2                  Texto                0

  NumSerie               Texto               10
  tblComptStok.NumAtivo  Número (Longo)       4
  tblComptCad.AlugDia    Número (Simples)     4







postgresql-doc

# (find-vldifile "postgresql-doc.list")
# (find-fline "/usr/doc/postgresql-doc/")
# (find-fline "/usr/doc/postgresql-doc/libpgsql/libpq/examples/")

cd /usr/doc/postgresql-doc/postgres/