Original post: http://anothermysqldba.blogspot.com/2013/12/a-mysql-dba-looks-at-postgresql.html
Así que este es un viaje del / a MySQL DBA mirar en PostgreSQL . No es un ataque sólo observaciones y ejemplos.
El uso de CentOS 6.5 de 64 bits:
rpm-ivh http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/pgdg-centos93-9.3-1.noarch.rpm
ñam groupinstall "Base de datos PostgreSQL Server 9.3 PGDG"
Se instalarán ---> Paquete postgresql93.x86_64 0:9.3.2-1PGDG. RHEL6
---> Se instalará postgresql93-contrib.x86_64 Paquete 0:9.3.2-1PGDG. RHEL6
---> Se instalará postgresql93-libs.x86_64 Paquete 0:9.3.2-1PGDG. RHEL6
---> Se instalará Paquete postgresql93-server.x86_64 0:9.3.2-1PGDG. RHEL6
yum install postgresql93-servidor
servicio postgresql-9.3 initdb
Base de datos Inicialización: [OK]
postgresql-9.3 puesta en servicio
A partir postgresql-9.3 servicio: [OK]
chkconfig postgresql-9.3 en
Todos los siguientes ejemplos se basan en el PostgreSQL Wiki
# Su - postgres
-Bash-4.1 $ psql
psql (9.3.2)
postgres = # CREAR USUARIO CONTRASEÑA testuser '1234 ';
CREATE ROLE
postgres = # GRANT ALL ON SCHEMA prueba por TestUser;
GRANT
postgres = # GRANT ALL ON todas las tablas de prueba SCHEMA por TestUser;
GRANT
$ Pwd
/ Home / testuser
$ psql-d postgres
psql (9.3.2)
Escriba "help" para obtener ayuda.
Me di cuenta de que estas declaraciones de subvención trabajaron bien con 9.3 pero la distro originalmente instalado una versión 8. * Y algunos de los comandos fallé.
Por cierto ... Usted, por supuesto, todavía tiene las características que usted esperaría de un sistema RDBM estable.Concedidos estos son ejemplos sencillos.
postgres => EXPLAIN SELECT * de test.test;
PLAN DE CONSULTA
-------------------------------------------------- ------
Sec. Scan en la prueba (cost = 0.00 .. 19.20 rows = 920 width = 58)
Mostrar bases de datos == \ l
postgres-> \ l
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / postgres +
| | | | | Postgres = TACc / postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / postgres +
| | | | | Postgres = TACc / postgres
USO es el estándar SQL:
postgres-> Usar postgres
Enumerar todos los esquemas:
postgres-> \ dn
públicas | postgres
prueba | postgres
postgres => select * from sometable DONDE SomeField = 'fubar'; SomeField | anotherfield | datefield ----------- + -------------- + ---- -------- fubar | rabuf | 30/12/2013 fubar | rabuf | 12/30/2013 (2 filas)
Para ayudar a que más puede instalar pgadmin
yum install pgadmin3_93
Conseguir que para trabajar y cómo funciona podría ser otro post entero blog.
Hasta ahora .... Me quedo con MySQL, pero esto es sólo un ejemplo simplista de usar PostgreSQL. Esto puede ayudarle a empezar a usted puede evaluar por sí mismo.
Enlaces Útiles abajo. Por favor refiérase a estos, ya que tienen más experiencia con PostgreSQL que yo.
Así que este es un viaje del / a MySQL DBA mirar en PostgreSQL . No es un ataque sólo observaciones y ejemplos.
El uso de CentOS 6.5 de 64 bits:
rpm-ivh http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/pgdg-centos93-9.3-1.noarch.rpm
ñam groupinstall "Base de datos PostgreSQL Server 9.3 PGDG"
Se instalarán ---> Paquete postgresql93.x86_64 0:9.3.2-1PGDG. RHEL6
---> Se instalará postgresql93-contrib.x86_64 Paquete 0:9.3.2-1PGDG. RHEL6
---> Se instalará postgresql93-libs.x86_64 Paquete 0:9.3.2-1PGDG. RHEL6
---> Se instalará Paquete postgresql93-server.x86_64 0:9.3.2-1PGDG. RHEL6
servicio postgresql-9.3 initdb
Base de datos Inicialización: [OK]
postgresql-9.3 puesta en servicio
A partir postgresql-9.3 servicio: [OK]
chkconfig postgresql-9.3 en
Todos los siguientes ejemplos se basan en el PostgreSQL Wiki
# Su - postgres
-Bash-4.1 $ psql
psql (9.3.2)
postgres = # CREAR USUARIO CONTRASEÑA testuser '1234 ';
CREATE ROLE
postgres = # GRANT ALL ON SCHEMA prueba por TestUser;
GRANT
postgres = # GRANT ALL ON todas las tablas de prueba SCHEMA por TestUser;
GRANT
postgres = # \ q
-Bash-4.1 $ exit
logout
# Su testuser
$ Pwd
/ Home / testuser
$ psql-d postgres
psql (9.3.2)
Escriba "help" para obtener ayuda.
postgres => CREATE test.test MESA (varchar COLTEST (20));
CREATE TABLE
postgres => insertan en test.test valores (COLTEST) ('It works!');
INSERT 0 1
postgres => SELECT * FROM test.test;
COLTEST
-----------
¡Funciona!
(1 row)
postgres => test.test DROP TABLE;
DROP TABLE
postgres =>
Por cierto ... Usted, por supuesto, todavía tiene las características que usted esperaría de un sistema RDBM estable.Concedidos estos son ejemplos sencillos.
postgres => EXPLAIN SELECT * de test.test;
PLAN DE CONSULTA
-------------------------------------------------- ------
Sec. Scan en la prueba (cost = 0.00 .. 19.20 rows = 920 width = 58)
Mostrar bases de datos == \ l
postgres-> \ l
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / postgres +
| | | | | Postgres = TACc / postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / postgres +
| | | | | Postgres = TACc / postgres
USO es el estándar SQL:
postgres-> Usar postgres
Enumerar todos los esquemas:
postgres-> \ dn
públicas | postgres
prueba | postgres
SHOW CREATE TABLE y etc, son un poco más de trabajo. Concedido un DBA MySQL lo verá como más trabajo, porque de lo que estamos acostumbrados a hacer. PostgreSQL utiliza espacios de tabla más de usuarios de MySQL están acostumbrados a hacer.
postgres => CREATE sometable MESA (varchar SomeField (255), varchar anotherfield (150), fecha datefield); CREATE TABLE postgres => INSERT INTO VALORES sometable (SomeField, anotherfield, DateField) ('fubar', 'rabuf', '2013-12-30 '); INSERT 0 1 postgres => INSERT INTO VALORES sometable (SomeField, anotherfield, DateField) ('fubar', 'rabuf', NOW ()); INSERT 0 1 postgres => INSERT INTO VALORES sometable (SomeField, anotherfield, DateField) ('fubar2', 'rabuf2', NOW ()); INSERT 0 1 postgres => select * from sometable; SomeField | anotherfield | datefield ----------- + -------------- + ------------ fubar | rabuf | 30/12/2013 fubar | rabuf | 30/12/2013 fubar2 | rabuf2 | 12/30/2013 (3 filas)
postgres => select * from sometable DONDE SomeField = 'fubar'; SomeField | anotherfield | datefield ----------- + -------------- + ---- -------- fubar | rabuf | 30/12/2013 fubar | rabuf | 12/30/2013 (2 filas)
postgres => \? <- La ayuda que le mostrará cómo navegar alrededor.
Mostrar las tablas == \ dt
postgres => \ dt
Lista de las relaciones
Esquema | Nombre | Tipo | Propietario
-------- + ----------- + ------- + ----------
público | sometable | Mesa | testuser
postgres => ALTER TABLE ADD COLUMN sometable intfield int [11]; ALTER TABLE
postgres => select * from sometable; SomeField | anotherfield | datefield | intfield ----------- + -------------- + -------- ---- + ---------- fubar | rabuf | 12/30/2013 | fubar | rabuf | 12/30/2013 | fubar2 | rabuf2 | 12/30/2013 | (3 filas)
Mostrar create table == \ d + nombre de tabla
postgres => \ d + sometable
Tabla "public.sometable"
Columna | Tipo | Modificadores | Almacenamiento | Estadísticas destino | Descripción
-------------- + ------------------------ + ---------- - + ---------- + -------------- + -------------
SomeField | carácter variable (255) | | ampliada | |
anotherfield | carácter variable (150) | | ampliada | |
datefield | Fecha | | llano | |
intfield | entero [] | | ampliada | |
Tiene OID: no
Para ayudar a que más puede instalar pgadmin
yum install pgadmin3_93
Conseguir que para trabajar y cómo funciona podría ser otro post entero blog.
Hasta ahora .... Me quedo con MySQL, pero esto es sólo un ejemplo simplista de usar PostgreSQL. Esto puede ayudarle a empezar a usted puede evaluar por sí mismo.
Enlaces Útiles abajo. Por favor refiérase a estos, ya que tienen más experiencia con PostgreSQL que yo.
- Modificado por 9.3 a continuación)
- http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/
- http://www.postgresql.org/docs/9.3/static/app-initdb.html
- https://wiki.postgresql.org/wiki/Detailed_installation_guides
- http://wiki.postgresql.org/wiki/First_steps
- http://www.postgresql.org/docs/9.3/static/sql-grant.html
- http://wiki.postgresql.org/wiki/How_to_make_a_proper_migration_from_MySQL_to_PostgreSQL
- http://blog.endpoint.com/2009/12/mysql-and-postgres-command-equivalents.html
- http://www.openlogic.com/wazi/bid/188016/PostgreSQL-Administration-for-MySQL-Admins
- http://www.postgresql.org/docs/9.3/static/sql-altertable.html
- http://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL